我想平均列一列,但我希望将平均值放入带有pandas的新列中.
我想从这种格式出发:
values
10
5
8
7
2
5
6
7
对于这种格式:
values average
10 nan
5 7.5
8 6.5
7 7.5
2 4.5
5 3.5
6 5.5
7 6.5
这里有类似的解决方案:Averaging every two consecutive index values(every 2min) in pandas dataframe,但我希望保持相同的行数.
解决方法:
你可以使用pd.Series.rolling(https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.rolling.html):
data = pd.Series([10, 5, 8, 7, 2, 5, 6, 7])
print(data.rolling(2).mean())
输出:
0 NaN
1 7.5
2 6.5
3 7.5
4 4.5
5 3.5
6 5.5
7 6.5
dtype: float64