首页 > 解决方案 > Python:使用列值聚合行并为每个键删除一行

问题描述

我正在尝试找到一种方法来从我的数据库中删除所有重复的记录。

例如,如果我有这个表(存储在 CSV 文件中):

colA   colB
1      102
2      101
3      101
4      105
5      102
6      101

如果我们为 colB 列使用 groupBy 聚合表我们

colB   count()
105    1
102    2
101    3

我想收到的决赛桌是:

colA   colB
1      102
2      101
3      101

还有一件事:删除哪一行并不重要。

标签: pythonpandasdataframeduplicates

解决方案


Series.duplicated与可选参数一起使用keep=last

m = df['colB'].duplicated(keep='last')
df = df[m]

# print(df)

   colA  colB
0     1   102
1     2   101
2     3   101

推荐阅读