我有一个这样的数据帧:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({"ID":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
"A":[30, 20, 10, 20, 60, 80, 90, 70, 120, 150, 120, 140]})
我想创建一个新的列“B”,每4行的平均值(df[“a”])作为一个窗口。平均值应该在这4行中重复,但作为另一列。所以结果应该是这样的:
df
Out[6]:
ID A B
0 1 30 20.0
1 2 20 20.0
2 3 10 20.0
3 4 20 20.0
4 5 60 75.0
5 6 80 75.0
6 7 90 75.0
7 8 70 75.0
8 9 120 132.5
9 10 150 132.5
10 11 120 132.5
11 12 140 132.5
我试过这样的东西
df["B"] = df.rolling(window=4)['A'].mean()
,但没有如预期的那样工作。有人能帮我吗?