asc*_*ter 2 python dataframe pandas
对于pandas.DataFrame.rolling窗口,我可以设置一个window描述固定宽度(固定元素数量或固定偏移量)的大小。
如何获得始终从第一个条目开始并向前滚动到每个条目的窗口?例如,x在 DataFrame 中有一个系列,我想每行获得以下窗口:
x intended_window
0 10 [10]
1 11 [10,11]
2 12 [10,11,12]
3 13 [10,11,12,13]
4 14 [10,11,12,13,14]
Run Code Online (Sandbox Code Playgroud)
您不需要中间结果\xe2\x80\x94,您可以直接使用 pandas 的扩展平均值来计算它。Pandas 提供了一种称为窗口的功能expanding,它允许您在扩展值窗口上执行计算。对于您的情况,您需要expanding.mean:
df.x.expanding().mean()\n\n0 10.0\n1 10.5\n2 11.0\n3 11.5\n4 12.0\nName: x, dtype: float64\nRun Code Online (Sandbox Code Playgroud)\n\n请注意,它与您当前使用的相同:
\n\ndf[\'intended_window\'].apply(np.mean)\n\n0 10.0\n1 10.5\n2 11.0\n3 11.5\n4 12.0\nName: intended_window, dtype: float64 \nRun Code Online (Sandbox Code Playgroud)\n\n但前者的性能要高得多。
\n| 归档时间: |
|
| 查看次数: |
3592 次 |
| 最近记录: |