Skip to content

预处理

boxcox(method='mle')

对面板DataFrame中的数值列应用Box-Cox变换。

参数:

名称 类型 描述 默认
method str

用于确定Box-Cox变换的lambda参数的方法。

支持的方法:

  • mle: 最大似然估计
  • pearsonr: Pearson相关系数
'mle'

coerce_dtypes(schema)

使用提供的模式强制转换DataFrame的列数据类型。

参数:

名称 类型 描述 默认
schema Mapping[str, DataType]

一个类似字典的对象,将列名映射到所需的数据类型。

required

deseasonalize_fourier(sp, K, robust=False)

通过带有傅里叶项的残差回归去除季节性。

参数:

名称 类型 描述 默认
sp int

季节性周期。

必需
K int

傅里叶项的最大阶数。必须小于 sp

必需
备注
必需

detrend(freq, method='linear')

从面板数据框中的数值列中去除均值或线性趋势。

参数:

名称 类型 描述 默认
freq str

Polars支持的偏移别名。

必需
method str

如果是 mean,从每个时间序列中减去均值。 如果是 linear,从每个时间序列中减去最佳拟合线(通过 OLS)。 默认为 linear

'linear'

diff(order, sp=1, fill_strategy=None)

给定顺序和季节周期的面板数据中的时间序列差异。

参数:

名称 类型 描述 默认
order int

需要进行差分的顺序。

必需
sp int

季节性周期。

1
fill_strategy 可选[str]

填充空值的策略。如果为None,则不填充空值。支持的策略包括:["backward", "forward", "mean", "zero"]。

None

fractional_diff(d, min_weight=None, window_size=None)

计算时间序列的分数微分。

该特定功能在Marcos Lopez de Prado(2018)的《金融机器学习进展》中有所提及。

为了特征创建的目的,建议使用去除时间序列平稳性的d的最小值。这可以通过对时间序列运行增强的迪基-福勒测试,针对不同的d值,并选择使时间序列平稳的最小值来实现。

参数:

名称 类型 描述 默认
d float

差分算子的分数阶。

必填
min_weight float

用于计算的最小权重。如果指定,窗口大小将根据该值计算,而不是需要。

None
window_size int

分数差分算子的窗口大小。如果指定,则不需要最小权重。

None

impute(method)

对按实体分组的DataFrame的数值列执行缺失值插补。

参数:

名称 类型 描述 默认
method Union[str, int, float]

要使用的填充方法。

支持的方法包括:

  • 'mean': 用对应列的平均值替换缺失值。
  • 'median': 用对应列的中位数替换缺失值。
  • 'fill': 用浮点列的平均值和整数列的中位数替换缺失值。
  • 'ffill': 向前填充缺失值。
  • 'bfill': 向后填充缺失值。
  • 'interpolate': 使用线性插值法插补缺失值。
  • int或float: 用指定常数替换缺失值。
必需

lag(lags, is_sorted=False)

对LazyFrame应用滞后变换。假设时间序列没有空值。

参数:

名称 类型 描述 默认
lags List[int]

要应用的滞后值列表。

必需
is_sorted bool

如果已经按实体和时间列排序,则不会再次排序,从而节省一些时间。

False

one_hot_encode(drop_first=False)

将分类特征编码为一个独热数值数组。

参数:

名称 类型 描述 默认
drop_first bool

删除第一个独热编码特征。

False

引发:

类型 描述
ValueError

如果传入的 X 到 transform_new 包含未知类别。

reindex(drop_duplicates=False)

重新索引实体和时间列,以获得每个可能的(实体,时间)组合。

参数:

名称 类型 描述 默认
drop_duplicates bool

默认为 False。如果为 True,则在重新索引之前会删除重复项。

False

resample(freq, agg_method, impute_method)

使用指定的频率、聚合方法和填充方法对DataFrame进行重采样和转换。

参数:

名称 类型 描述 默认
freq str

Polars支持的偏移别名。

必需
agg_method str

用于重采样的聚合方法。支持的值有 'sum'、'mean' 和 'median'。

必需
impute_method Union[str, int, float]

用于填补缺失值的方法。如果是字符串,支持的值有 'ffill'(前向填充)和 'bfill'(后向填充)。如果是整数或浮点数,缺失值将被填充为提供的值。

required

roll(window_sizes, stats, freq, fill_strategy=None)

对DataFrame指定列进行滚动窗口计算。

参数:

名称 类型 描述 默认
window_sizes List[int]

一个整数列表,表示滚动计算的窗口大小。

必需
stats List[Literal['mean', 'min', 'max', 'mlm', 'sum', 'std', 'cv']]

要计算的每个滚动窗口的统计量列表。

支持的值有:

  • 'mean' 表示均值
  • 'min' 表示最小值
  • 'max' 表示最大值
  • 'mlm' 表示最大值减去最小值
  • 'sum' 表示求和
  • 'std' 表示标准差
  • 'cv' 表示变异系数
必需
freq str

Polars支持的偏移别名。

必需
fill_strategy 可选[str]

填充空值的策略。如果为None,则不填充空值。支持的策略包括:["backward", "forward", "mean", "zero"]。

None

scale(use_mean=True, use_std=True, rescale_bool=False)

对DataFrame的数值列执行缩放和重新缩放操作。

参数:

名称 类型 描述 默认
use_mean bool

是否从数值列中减去均值。默认为 True。

True
use_std bool

是否通过标准差来划分数值列。默认值为 True。

True
rescale_bool bool

是否将布尔列重新缩放到范围[-1, 1]。默认为False。

False

time_to_arange(eager=False)

将时间列强制转换为每个实体的范围。

假设时间序列均匀间隔且起始日期相同。

trim(direction='both')

修剪面板中的时间序列,使其与最短时间序列具有相同的开始或结束日期。

参数:

名称 类型 描述 默认
direction Literal['both', 'left', 'right']

默认为“both”。如果“left”从最短时间序列的开始日期修剪;如果“right”修剪到最短时间序列的结束日期;否则“both”在最短时间序列的开始和结束日期之间修剪

'both'

yeojohnson(brack=(-2, 2))

将Yeo-Johnson变换应用于面板DataFrame中的数值列。

参数:

名称 类型 描述 默认
brack 2 - tuple

使用 optimize.brent 进行下坡括号搜索的起始区间。请注意,这在大多数情况下并非关键;最终结果可以在此括号之外。

(-2, 2)