我正在尝试在现有的df
. 新列的值由 groupby 和 rolling sum 的组合创建。我该怎么做呢?
我尝试了两种方法,都导致 NaN 值或“插入列的索引与帧索引不兼容”
df = 类似这样的东西:
HomeTeam FTHP
0 Bristol Rvs 0
1 Crewe 0
2 Hartlepool 3
3 Huddersfield 1
我试过了:
(1)
df['new'] = df.groupby('HomeTeam')['FTHP'].rolling(4).sum()
(2)
df['new'] = df.groupby('HomeTeam').FTHP.apply(lambda x: x.rolling(4).mean())
(1) 输出以下是我想在新列中添加的值。
HomeTeam
Brighton 12 NaN
36 NaN
49 NaN
72 2.0
99 2.0
我正在尝试将这些值添加到适当的 HomeTeam 旁边的新列中。导致前三个的 NaN(因为它正在滚动(4))并在之后拾取值,例如:
HomeTeam FTHP RollingMean
0 Bristol Rvs 0 NaN
1 Crewe 0 NaN
2 Hartlepool 3 NaN
3 Huddersfield 1 NaN