我有一个日期框架df,让我们说5列:a,b,c,d,e。
a b c d e
1 6 x 8 3
2 3 y 2 3
3 5 d 1 1
3 4 g 3 4
5 3 z 3 1
这就是我想要做的,对于具有相同列a值的所有行,我想删除重复项,但是列b的值应该在这些行之间求和,对于其余列,我想要保持第一个值。
最终数据框架将是:
a b c d e
1 6 x 8 3
2 3 y 2 3
3 9 d 1 1
5 3 z 3 1
怎么做?
答案 0 :(得分:0)
我将列'b'分配给'a'并求和的分组结果,然后你可以删除重复项:
In [171]:
df['b'] = df.groupby('a')['b'].transform('sum')
df
Out[171]:
a b c d e
0 1 6 x 8 3
1 2 3 y 2 3
2 3 9 d 1 1
3 3 9 g 3 4
4 5 3 z 3 1
In [172]:
df.drop_duplicates('a')
Out[172]:
a b c d e
0 1 6 x 8 3
1 2 3 y 2 3
2 3 9 d 1 1
4 5 3 z 3 1