我觉得我要做的是非常基本的,但我似乎找不到类似的帖子。如果我的帖子确实是重复的,请告诉我。在
我掌握的数据是关于交通事故的。前两列显示事件的确切伤亡人数,但第3和第4列(酒精和手机相关)仅显示二进制值:0(表示不相关)和1(表示相关)。在
示例数据如下:
(抱歉,数据与列标题不完全对齐,我不知道如何正确格式化。如果有人能分享任何建议,我将不胜感激。)NAME FATAL# INJURY# ALCOHOL CELL
0 City A 5 1 0 0
1 City B 5 1 0 1
2 City A 3 1 1 0
3 City B 3 1 1 0
4 City A 3 0 1 0
5 City B 2 2 0 0
我想要的是对前两列进行groupby求和,然后在ALCOHOL或CELLPHONE列单元格值为1时,计算每个城市的FATAL之和。在
所以基本上我想要的输出是:
^{pr2}$
很抱歉格式不好,如果有助于理解上述数据帧的图片:
我所拥有的
我想要什么
我知道前两个专栏我要做df.groupby(['NAME']).['FATAL', 'INJURIES'].sum()。至于第二部分,我可以做df1.groupby(['NAME','ALCOHOL_RELATED'])['FATAL_COUNT', 'INJURY_COUNT'].sum(),但是这样我就会丢失total count列。在
我该怎么做?在
谢谢。在