我想对一列数据取平均值,但我希望用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
这里有一个相似的解决方案:在pandas数据框中每两个相邻索引值(每2分钟)求平均值,但我想保留相同数量的行。
我想对一列数据取平均值,但我希望用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
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
df = pd.DataFrame({'values': [10, 5, 8, 7, 2, 5, 6, 7]})
df["average"] = df["values"].rolling(2).mean()
print(df)
输出:
values average
0 10 NaN
1 5 7.5
2 8 6.5
3 7 7.5
4 2 4.5
5 5 3.5
6 6 5.5
7 7 6.5
pandas.rolling
。 - Paul H