小编Mak*_*Jim的帖子

带有标志条件的 Pandas 按 cumsum 分组

假设我有以下数据框

日期 旗帜 用户 编号
0 2019-01-01 1 A 10
1 2019-01-02 0 A 20
2 2019-01-03 1 30
3 2019-03-04 1 40

我想仅在 flag == 1 时创建按用户分组的数字的累积和,所以我会得到这个:

日期 旗帜 用户 编号 累积量
0 2019-01-01 1 A 10 10
1 2019-01-02 0 A 20 10
2 2019-01-03 1 30 30
3 2019-03-04 1 40 70

到目前为止,我能够按标志进行汇总,忽略用户组

df['cumsum'] = df[df['flag'] == 1 ]['num'].transform(pd.Series.cumsum)
Run Code Online (Sandbox Code Playgroud)

或用户忽略标志的 cumsum

df['cumsum'] = df.groupby('user')['num'].transform(pd.Series.cumsum)
Run Code Online (Sandbox Code Playgroud)

我需要帮助让他们一起工作。

python dataframe pandas cumsum pandas-groupby

6
推荐指数
1
解决办法
519
查看次数

标签 统计

cumsum ×1

dataframe ×1

pandas ×1

pandas-groupby ×1

python ×1