Jua*_*n C 5 python group-by nan pandas
我对此有点麻烦。我的数据框如下所示:
id amount dummy
1 130 0
1 120 0
1 110 1
1 nan nan
1 nan nan
2 nan 0
2 50 0
2 20 1
2 nan nan
2 nan nan
Run Code Online (Sandbox Code Playgroud)
所以,我需要做的是,在虚拟对象获取value = 1之后,我需要为每个变量的数量填充零id,如下所示:
id amount dummy
1 130 0
1 120 0
1 110 1
1 0 nan
1 0 nan
2 nan 0
2 50 0
2 20 1
2 0 nan
2 0 nan
Run Code Online (Sandbox Code Playgroud)
我猜我需要的某种组合groupby('id'),fillna(method='ffill')也许一个.loc或一个shift(),但我想一切都已经取得了一些问题,或者是很慢的。有什么建议么?
我将使用的方式
s = df.groupby('id')['dummy'].ffill().eq(1)
df.loc[s&df.dummy.isna(),'amount']=0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |