Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:使用列值聚合行,并为每个键删除一行_Python_Pandas_Dataframe_Duplicates - Fatal编程技术网

Python:使用列值聚合行,并为每个键删除一行

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的一行 由于第一个表中有三行,因此

我正试图找到一种方法,从我的数据库中删除所有重复的记录

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

如果我们对列colB使用groupBy聚合该表,我们有:

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