我有一个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
的组合,但找不到任何完全有效的解决方案
感谢您的提示,这是我最终最喜欢的解决方案(也因为它的简单性):
我建议您简单地将
cost
列拆分为cost
列和cost_extra
列。如下所示:result
看起来像:用
unstack
检查groupby
相关问题 更多 >
编程相关推荐