Busabase
Busabase는 AI 에이전트를 위한 오픈소스(MIT) 데이터베이스 및 작업 공간입니다
timeseries-shaper filters, transforms and engineer your timeseries dataframe
README 전체를 불러오는 중입니다.
README 전문 보기 ↗ts-shape is a pandas library for manufacturing and IIoT time series. It works
on long-format signal data (systime, uuid, value_double /
value_integer / value_bool / value_string) and provides loaders, filters,
feature extraction and event detectors for production (OEE, downtime, shift
reports, traceability), quality (outliers, SPC rules, capability),
process engineering, maintenance, energy, supply chain and process
development. Every detector takes a DataFrame and returns a DataFrame, and
any detector output can be turned into an OCEL 2.0 or XES event log for
process mining.
pip install ts-shape
Python 3.11 or later. The core depends only on pandas, numpy and scipy. Loader backends and a few detectors need extras:
| Extra | Installs | Needed for |
|---|---|---|
parquet | pyarrow | reading parquet files |
s3 | s3fs, pyarrow | S3 loaders |
azure | azure-storage-blob, pyarrow | Azure Blob loaders |
api | requests | REST metadata and energy API loaders |
sql | sqlalchemy | TimescaleDB and SQL metadata loaders |
postgres | sqlalchemy, psycopg2-binary | sql plus the PostgreSQL driver |
yaml | pyyaml | signal specs and lambda rules from YAML |
units | pint | UnitConverter |
ml | scikit-learn | Isolation Forest outlier detection |
all | all of the above |
pip install "ts-shape[parquet,azure]"
import pandas as pd
from ts_shape import (
MachineStateEvents,
OutlierDetectionEvents,
concat,
make_timeseries,
profile,
to_event_log,
)
# Synthetic data in the standard format; use a loader or pandas for your own
temp = make_timeseries(["oven:temp"], n_points=1440, freq="1min", n_outliers=4)
running = make_timeseries(["oven:running"], n_points=1440, freq="1min", value_column="value_bool")
df = pd.concat([temp, running], ignore_index=True)
print(profile(df).summary()) # signal kinds, gaps, counter resets, duplicates
outliers = OutlierDetectionEvents(temp, value_column="value_double").detect_outliers_zscore(n_sigma=4.0)
intervals = MachineStateEvents(df, run_state_uuid="oven:running").detect_run_idle(min_duration="5min")
log = concat(
to_event_log(outliers, detector="OutlierDetectionEvents.detect_outliers_zscore"),
to_event_log(intervals, detector="MachineStateEvents.detect_run_idle"),
)
print(log.events[["ocel:activity", "ocel:timestamp"]].head())
ts_shape.list_detectors() lists the public classes (name, category,
module): the detectors, and also the transform, feature, loader, event-log
and pipeline classes. The
examples/ folder
has one self-contained script per area of the library.
Parts of this library were developed with the assistance of Claude, Anthropic's AI assistant. All code is reviewed and maintained by the project authors.