Pandas用min_periods扩展窗口

时间:2014-11-09 20:18:29

标签: pandas window

我想计算扩展窗口统计信息,但最小周期数为3,而不是1.也就是说,我希望它在3个值的窗口之后开始计算统计量,然后包括所有值,直到那个点:

value     expanding_min
------------------------
 6          NaN
 5          NaN
 2          NaN
 3          2
 1          1 

然而,使用

df['expanding_min']= df.groupby(groupby)['value'].transform(lambda x: pd.rolling_min(x, window=len(x), min_periods=3))

df['expanding_min']= df.groupby(groupby)['value'].transform(lambda x: pd.expanding_min(x, min_periods=3))

我收到以下错误:

ValueError: min_periods (3) must be <= window (1)

1 个答案:

答案 0 :(得分:1)

这适用于我,从值更改为df.value:

pd.expanding_min(df.value, min_periods=3)

pd.rolling_min(df.value, window=len(df.value), min_periods=3)

两个输出:

0   NaN
1   NaN
2     2
3     2
4     1
dtype: float64

也许你的窗口是由长度为1的其他“值”设置的?这就是pandas提供错误消息的原因