给定一个数据帧
data = {
"col1": ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'],
"col2": ['B', 'C', 'A', 'C', 'D', 'B', 'E', 'A',],
"count": [3, 7, 12, 2, 8, 2, 5, 9]
}
df = pd.DataFrame(data=data)
col1 col2 count
A B 3
A C 7
B A 12
B C 2
C D 8
C B 2
D E 5
D A 9
我希望聚合所有具有对称对的行,同时维护没有对称对的行。因此,输出将是一个新的数据帧
col1 col2 count
A B 15
A C 7
B C 4
C D 8
D E 5
D A 9
我看过Aggregate symmetric pairs pandas和Find symmetric pairs quickly in numpy,但它们都没有特别帮助我
实际上,给定的链接使用了
apply
,这通常比较慢。下面是一个带有np.sort
的解决方案:输出:
对answer you linked的一些小修改可以满足您的需要:
相关问题 更多 >
编程相关推荐