【发布时间】:2019-08-31 22:30:04
【问题描述】:
我有一个pandas 数据框如下:
id group type action cost
101 A 1 10
101 A 1 repair 3
102 B 1 5
102 B 1 repair 7
102 B 1 grease 2
102 B 1 inflate 1
103 A 2 12
104 B 2 9
我需要把它从长改成宽,但要根据action列的值,如下:
id group type action_std action_extra
101 A 1 10 3
102 B 1 5 10
103 A 2 12 0
104 B 2 9 0
换句话说,对于action 字段为空的行,cost 值应放在action_std 列下,而对于action 字段非空的行,cost 值应为在action_extra 列下汇总。
我尝试了groupby/agg/pivot 的几种组合,但我找不到任何完全有效的解决方案...
【问题讨论】: