【问题标题】:How to use for loop for pandas moving windows如何为熊猫移动窗口使用for循环
【发布时间】:2020-07-26 22:07:59
【问题描述】:

我有数据框,我应用了熊猫移动窗口方法。

moving = df.rolling(150, win_type='triang').mean()

上面这行代码可以计算移动窗口的均值,但我不想要每个移动窗口的均值。我需要申请循环来处理每个移动的窗口,如下所示:

for x in moving:
    #do some process

在python中有没有有效的方法来做到这一点?

【问题讨论】:

    标签: python-3.x pandas numpy pandas-groupby


    【解决方案1】:

    您可以使用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

    【讨论】:

    • 可以使用 Apply 方法,但在我的情况下,我有兴趣使用简单的 for 循环
    • 你问什么是有效的方法。你可以说得更详细点吗?您在寻找哪种效率?时间、空间、代码可维护性、可读性?
    猜你喜欢
    • 2021-01-08
    • 2021-06-08
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    相关资源
    最近更新 更多