Python自动化办公,如何合并Excel中重复项

2024-02-17 14:20:35
/
0 点赞
/
100 阅读
2024-02-17

问题

有如下表格,表格中有重复项,如:foo,bar,如果你想对表格的’A’列的值对应的’B’列和’C’列求和

A B C
0 foo 9 4
1 bar 2 1
2 foo 2 3
3 bar 3 6
4 foo 3 8
5 foo 4 0

解决

import pandas as pd
data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
        'B': [9, 2, 2, 3, 3, 4],
        'C': [4, 1, 3, 6, 8, 0]}

df = pd.DataFrame(data)
result = df.groupby('A').agg({'B': 'sum', 'C': 'sum'}).reset_index()
print(result)
result = result.sort_values(by='B', ascending=False)
result.to_excel('out.xlsx', index=False)

结果如下

     A   B   C
0  bar   5   7
1  foo  18  15

扩展

如果是合并字符串,而不是数字相加

     A  B  C
0  foo  1  X
1  bar  2  Y
2  foo  2  Z
3  bar  3  W
4  foo  3  P
5  foo  4  Q

代码如下

result = df.groupby('A').agg({'B': 'first', 'C': ', '.join}).reset_index()

最后结果如下

     A  B      C
0  bar  2    Y, W
1  foo  1  X, Z, P, Q
版权属于:

那棵树看起来生气了

本文链接:

(转载时请注明本文出处及文章链接)