我想对滚动窗口应用一个函数。我在这里看到的所有答案都集中在应用于单个行/列上,但是我希望将我的函数应用于整个窗口。下面是一个简化的例子:
import pandas as pd
data = [ [1,2], [3,4], [3,4], [6,6], [9,1], [11,2] ]
df = pd.DataFrame(columns=list('AB'), data=data)
这是df
:
使用一些函数应用于整个窗口:
df.rolling(3).apply(lambda x: x.shape)
在这个例子中,我希望得到类似于:
some_name
0 NA
1 NA
2 (3,2)
3 (3,2)
4 (3,2)
5 (3,2)
当然,这个形状被用作一个例子,显示f
将整个窗口视为计算对象,而不仅仅是行/列。我尝试过使用axis
关键字来表示rolling
,也尝试过使用raw
关键字来表示{agg, transform
)似乎也不能提供。在
当然,我可以理解列表。只是觉得有更简单/更干净的方法。在
不是用
pd.DataFrame.rolling
。。。。该函数迭代地应用于列,接受一系列floats/NaN,然后逐个返回一系列floats/NaN。我想你的直觉会更好。。。。在相关问题 更多 >
编程相关推荐