如何将分配应用于熊猫滚动对象?

时间:2019-10-06 10:04:42

标签: python pandas assign

我正在使用具有时间戳记的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

0 个答案:

没有答案