假设我有一个文本文件〜40列,并且 我需要使用5列来删除重复项/组。
0 1 2 3 4 5 6
a b c d 123 5 h
r b c d 123 15 0
a b c d 456 12 v
g h c t 456 4 h
我想要groupby
或df.drop_duplicates()
df = df.groupby([1,2,4])[5].sum().reset_index()
所以结果就像
1 2 4 5
b c 123 20
b c 456 12
h c 456 4
有没有办法让其他列进入此结果数据,因为不希望它们成为groupby
条件?
答案 0 :(得分:1)
您可以按列划分,同时使用transform保留其他列:
df['sum'] = df.groupby([1,2,4])[5].transform(sum)
这将仅添加一列,该列具有针对原始数据帧中所有行的分组级别的聚合。