模块“pandas”没有“rolling_apply”属性。

4
我正在使用版本为0.23.4的pandas,下面的代码给我带来了错误-"module 'pandas' has no attribute 'rolling_apply'"。
以下是函数调用:
df['perLow'] = pd.rolling_apply(df.low, 2, add_percentage_diff)

非常感谢您提供修复此错误的任何帮助。
1个回答

10

pd.rolling_*函数系列已在v0.18左右被Rolling对象所取代,这些对象与DataFrames相关联。

使用Rolling.apply

df['low'].rolling(2).apply(add_percentage_diff)

这真是令人沮丧,因为 rolling_apply(可能?)允许迭代字符串系列,但 rolling 只允许数值数据。你知道我可以如何对字符串系列进行滚动操作吗? - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接