我有一个数据集,其中每个二进制信号的标志都有二进制值,如下所示:
>>> df = pd.DataFrame({'sinid':['abc','def','ghi','abc','ghi'],'flag1':[1,1,0,0,1],'flag2':[1,0,1,0,0]})
>>> df
sinid flag1 flag2
0 abc 1 1
1 def 1 0
2 ghi 0 1
3 abc 0 0
4 ghi 1 0
我想为每个sinid添加值,我想我需要groupby,但是不确定如何使用...
这是预期的结果:
sinid flag1 flag2
0 abc 1 1
1 def 1 0
2 ghi 1 1
答案 0 :(得分:1)
分组依据,然后求和并重置索引。
df = df.groupby(['sinid']).sum().reset_index()
df
结果:
sinid flag1 flag2
0 abc 1 1
1 def 1 0
2 ghi 1 1
答案 1 :(得分:0)
只需汇总分组的数据框:
df.groupby('sinid').sum()
flag1 flag2
sinid
abc 1 1
def 1 0
ghi 1 1
答案 2 :(得分:0)
这有效:
df.groupby(['sinid'])['flag1', 'flag2'].sum().reset_index()
sinid flag1 flag2
0 abc 1 1
1 def 1 0
2 ghi 1 1