【发布时间】:2021-09-23 21:01:26
【问题描述】:
我正在尝试分组并仅采用唯一组合,但是它返回重复值并且影响了我的计算
问题:
| child | parent | Year | Month | Val | desc |
|---|---|---|---|---|---|
| GC1 | p1 | 2021 | 1 | 100 | group1desc |
| GC1 | p1 | 2021 | 1 | 100 | group1desc |
| GC2 | p1 | 2021 | 1 | 200 | group1desc |
| GC2 | p2 | 2021 | 2 | 200 | group2desc |
| GC2 | p2 | 2021 | 2 | 200 | group2desc |
| GC3 | p2 | 2021 | 2 | 300 | group2desc |
| GC3 | p2 | 2021 | 2 | 300 | group2desc |
当我使用DF.groupby(['parent', 'year', 'Month'], as_index=False).agg({'val':'sum','desc':'first', 'child':list})时
它给出:
| parent | Year | Month | Val | desc | child |
|---|---|---|---|---|---|
| p1 | 2021 | 1 | 400 | group1desc | GC1,GC2 |
| p2 | 2021 | 2 | 1000 | group2desc | GC2,GC3 |
我想要的只是唯一的 val,即 GC1 为 P1 添加了一个,P2 = GC2 + GC3(添加了一次)
| parent | Year | Month | Val | desc | child |
|---|---|---|---|---|---|
| p1 | 2021 | 1 | 300 | group1desc | GC1,GC2 |
| p2 | 2021 | 2 | 500 | group2desc | GC2,GC3 |
【问题讨论】:
标签: python pandas dataframe group-by pandas-groupby