我正在使用具有时间戳记的pandas数据框。我想做的是在两个月的滚动窗口中以一个月的频率从数据框中计算列“ A”,“ B”,“ C”。问题在于,由于我必须同时计算3列,因此我必须使用assign函数,并且好像无法在滚动对象上运行assign()。解决此问题的最佳方法是什么?
很抱歉,我无法提供任何示例数据,但这实际上是我必须要做的:
df.rolling('2M').assign(
A = lambda x: do_something(x) + 1,
B = lambda x: do_something_else(x) + 3,
C = lambda x: do_somethingcool(x) + 6,
)
以下是一些示例数据:
df.head()
A B C
date
2018-01-01 2.0 1.650000e+01 2.475000e+00
2018-01-01 4.0 2.466667e+01 8.258333e+00
2018-01-01 65.0 2.816667e+01 1.197708e+01
2018-01-01 67.0 3.804167e+01 1.568958e+01
2018-01-01 249.0 3.989881e+01 1.568958e+01
2018-01-01 263.0 5.956548e+01 1.898958e+01
2018-01-01 264.0 6.785119e+01 2.393958e+01