PlateauFinder 转换器演示#
PlateauFinder 的作用是什么?
它搜索给定最小长度、具有恒定给定值的时间序列段(即平台),并返回它们的起始点(在时间序列索引上)和长度,
要搜索的值也可以设置为
np.nan
或np.inf
以查找缺失值,也可以指定要考虑的最小段长度;如果设置为 1,则返回给定值的所有位置作为起始点。
[1]:
import numpy as np
import pandas as pd
from sktime.transformations.panel.summarize import PlateauFinder
[2]:
# generate toy data
X = pd.DataFrame(
pd.Series(
[
pd.Series([np.nan, np.nan, 3, 3, np.nan, 2, 2, 3]),
pd.Series([0, np.nan, np.nan, np.nan, np.nan, np.nan, 2, np.nan]),
pd.Series([2, np.nan, np.nan, np.nan, 2, np.nan, 3, 1]),
pd.Series([1, np.nan, np.nan, 3, np.nan, np.nan, 2, 0]),
]
)
)
X.head()
[2]:
0 | |
---|---|
0 | 0 NaN 1 NaN 2 3.0 3 3.0 4 NaN 5... |
1 | 0 0.0 1 NaN 2 NaN 3 NaN 4 NaN 5... |
2 | 0 2.0 1 NaN 2 NaN 3 NaN 4 2.0 5... |
3 | 0 1.0 1 NaN 2 NaN 3 3.0 4 NaN 5... |
[3]:
# find plateaus
t = PlateauFinder()
Xt = t.fit_transform(X)
Xt
[3]:
0_nan_starts | 0_nan_lengths | |
---|---|---|
0 | [0] | [2] |
1 | [1] | [5] |
2 | [1] | [3] |
3 | [1, 4] | [2, 2] |