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

Python 熊猫翻滚:如何从左到右或从上到下翻滚?,python,pandas,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

默认情况下,我有一个问题,我正在使用
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

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

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

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

您将获得输出。

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

datas["c"] = datas["a"].iloc[::-1].rolling(2, min_periods=1).mean()
这将为您提供所需的数据帧