熊猫滚动:如何从左到右或从上到下滚动?

时间:2018-08-08 06:43:35

标签: python pandas

默认情况下,我有一个疑问,我正在使用Pandas.DataFrame.rolling()方法。而且我发现该方法仅根据前一个数字或该值的中心数计算值。现在,我需要根据后面的数字获得价值。如:

import pandas as pd
datas = pd.DataFrame({"a": [1,2,3]})
datas["c"] = datas["a"].rolling(2, min_periods=1).mean()

数据:

   a    c
0  1  1.0
1  2  1.5
2  3  2.5

如何获取数据,例如:

   a    c
0  1  1.5
1  2  2.5
2  3  3.0

如果有人能回答我将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以通过在滚动前调用.iloc[::-1]来反转列:

datas["c"] = datas["a"].iloc[::-1].rolling(2, min_periods=1).mean()

这将为您提供所需的数据框。

答案 1 :(得分:0)

您可以反转数据框并进行滚动。

datas = datas[::-1]
datas['c'] = datas.rolling(2,min_periods=1).mean()
datas=datas[::-1]

您将获得输出。