Python:使用列值聚合行,并为每个键删除一行
我正试图找到一种方法,从我的数据库中删除所有重复的记录 例如,如果我有此表(存储在CSV文件中): 如果我们对列colB使用groupBy聚合该表,我们有:Python:使用列值聚合行,并为每个键删除一行,python,pandas,dataframe,duplicates,Python,Pandas,Dataframe,Duplicates,我正试图找到一种方法,从我的数据库中删除所有重复的记录 例如,如果我有此表(存储在CSV文件中): 如果我们对列colB使用groupBy聚合该表,我们有: colB count() 105 1 102 2 101 3 我希望收到的最后一张表是: colA colB 1 102 2 101 3 101 colB=105的行不存在,因为第一个表中只有一行 由于第一个表中有两行,因此显示了colB=102的一行 由于第一个表中有三行,因此
colB count()
105 1
102 2
101 3
我希望收到的最后一张表是:
colA colB
1 102
2 101
3 101
- colB=105的行不存在,因为第一个表中只有一行李>
- 由于第一个表中有两行,因此显示了colB=102的一行李>
- 由于第一个表中有三行,因此显示了colB=101的两行
keep=last
:
m = df['colB'].duplicated(keep='last')
df = df[m]
回答得好。由于OP提到他不关心删除哪一行
m=df['colB']。duplicated()
这也可以使用。已经投票通过了
m = df['colB'].duplicated(keep='last')
df = df[m]
# print(df)
colA colB
0 1 102
1 2 101
2 3 101