featuretools.primitives.RollingMin#

class featuretools.primitives.RollingMin(window_length=3, gap=1, min_periods=1)[源文件]#

确定给定窗口内条目的最小值。

描述

给定一个数字列表和相应的日期时间列表,返回数字值的滚动最小值,从当前行向后偏移 gap 行开始,并查看指定窗口(由 window_lengthgap 定义)内的数据。输入的日期时间应该是单调的。

参数:
  • window_length (int, string, optional) – 指定每个窗口包含的数据量。如果提供整数,则对应于行数。对于采样频率均匀的数据(例如每天一次),window_length 将对应一个时间段,在本例中,window_length 为 7 时,对应 7 天。如果提供字符串,则必须是 pandas 的偏移别名字符串之一('1D','1H'等),它将指示每个窗口应跨越的时间长度。可用的偏移别名列表可在 https://pandas.ac.cn/pandas-docs/stable/user_guide/timeseries.html#offset-aliases 找到。默认为 3。

  • gap (int, string, optional) – 指定从每个实例向后偏移一段距离后开始可用数据的窗口。如果提供整数,则对应于行数。如果提供字符串,则必须是 pandas 的偏移别名字符串之一('1D','1H'等),它将指示目标实例与其窗口开始之间的时间长度。默认为 1。

  • min_periods (int, optional) – 在窗口上执行计算所需的最小观测数量。当 window_length 是整数时,最大只能等于 window_length。当 window_length 是偏移别名字符串时,此限制不存在,但应注意不要选择一个总是大于窗口中观测数量的 min_periods。默认为 1。

注意

定义 gapwindow_length 时,只能使用具有固定频率的偏移别名。这意味着不能使用诸如 MW 之类的别名,因为它们可以指示不同的天数。('M',因为不同月份有不同的天数;'W',因为周会指示一周中的某一天,例如 W-Wed,所以根据锚定日期指示的天数不同。)

注意

当使用偏移别名定义 gap 时,必须也使用偏移别名定义 window_length。当使用偏移别名定义 window_length 时,此限制不存在。实际上,如果数据具有均匀的采样频率,则最好使用数字 gap,因为它更高效。

示例

>>> import pandas as pd
>>> rolling_min = RollingMin(window_length=3)
>>> times = pd.date_range(start='2019-01-01', freq='1min', periods=5)
>>> rolling_min(times, [4, 3, 2, 1, 0]).tolist()
[nan, 4.0, 3.0, 2.0, 1.0]

我们也可以控制滚动计算之前的间隔。

>>> import pandas as pd
>>> rolling_min = RollingMin(window_length=3, gap=0)
>>> times = pd.date_range(start='2019-01-01', freq='1min', periods=5)
>>> rolling_min(times, [4, 3, 2, 1, 0]).tolist()
[4.0, 3.0, 2.0, 1.0, 0.0]

我们也可以控制滚动计算所需的最小周期数。

>>> import pandas as pd
>>> rolling_min = RollingMin(window_length=3, min_periods=3, gap=0)
>>> times = pd.date_range(start='2019-01-01', freq='1min', periods=5)
>>> rolling_min(times, [4, 3, 2, 1, 0]).tolist()
[nan, nan, 2.0, 1.0, 0.0]

我们还可以使用偏移别名字符串设置 window_lengthgap

>>> import pandas as pd
>>> rolling_min = RollingMin(window_length='3min', gap='1min')
>>> times = pd.date_range(start='2019-01-01', freq='1min', periods=5)
>>> rolling_min(times, [4, 3, 2, 1, 0]).tolist()
[nan, 4.0, 3.0, 2.0, 1.0]
__init__(window_length=3, gap=1, min_periods=1)[源文件]#

方法

__init__([window_length, gap, min_periods])

flatten_nested_input_types(input_types)

将嵌套列模式输入展平为单个列表。

generate_name(base_feature_names)

generate_names(base_feature_names)

get_args_string()

get_arguments()

get_description(input_column_descriptions[, ...])

get_filepath(filename)

get_function()

属性

base_of

base_of_exclude

commutative

default_value

如果没有找到数据,此特征返回的默认值。

description_template

input_types

woodwork.ColumnSchema 输入类型

max_stack_depth

name

原语的名称

number_output_features

与此特征关联的特征矩阵中的列数

return_type

ColumnSchema 返回类型

stack_on

stack_on_exclude

stack_on_self

uses_calc_time

uses_full_dataframe