【发布时间】:2019-09-16 02:44:22
【问题描述】:
我正在尝试在现有 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
【问题讨论】:
标签: python pandas group-by multiple-columns rolling-sum