我有数据框,我应用了熊猫移动窗口方法。
moving = df.rolling(150, win_type='triang').mean()
上面的代码行可以计算移动窗口的均值,但是我不希望每个移动窗口的均值。我需要申请循环来处理每个移动的窗口,如下所示:
for x in moving:
#do some process
在python中有什么有效的方法吗?
答案 0 :(得分:3)
您可以使用apply
方法在每个窗口中应用功能。
moving_windows = df.rolling(150, win_type='triang')
def do_process(window):
#do some process
window_results = moving_windows.apply(do_process)
请参见https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.core.window.Rolling.apply.html