Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.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 如何使用pandas从列中删除重复值_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 如何使用pandas从列中删除重复值

Python 如何使用pandas从列中删除重复值,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,数据集如下: mail id score xyz@yahoo.com 10 abc@gmail.com 13 xyz@yahoo.com 16 pqr@gmail.com 20 abc@gmail.com 19 mno@gmail.com 24 从上述数据中,必须通过比较分数列来删除重复值 在邮件专栏中,我们有两篇文章xyz@yahoo.com及abc@gmil.com. 在这里,我们需要通过比较这些分数来删除重复的值 为了xy

数据集如下:

mail id          score
xyz@yahoo.com     10
abc@gmail.com     13
xyz@yahoo.com     16
pqr@gmail.com     20
abc@gmail.com     19
mno@gmail.com     24
从上述数据中,必须通过比较分数列来删除重复值

在邮件专栏中,我们有两篇文章xyz@yahoo.com及abc@gmil.com. 在这里,我们需要通过比较这些分数来删除重复的值

为了xyz@yahoo.com如果分数为10和16,则应返回最大值行

输出:

mail id          score
xyz@yahoo.com     16
pqr@gmail.com     20
abc@gmail.com     19
mno@gmail.com     24
使用
sort\u values()
方法和
drop\u duplicates()
方法:

resultdf=df.sort_values('score',ascending=False).drop_duplicates('mail id')
resultdf=df.groupby('mail id')['score'].nlargest(1).droplevel(1).reset_index()

您也可以通过
groupby()
方法执行此操作:

resultdf=df.sort_values('score',ascending=False).drop_duplicates('mail id')
resultdf=df.groupby('mail id')['score'].nlargest(1).droplevel(1).reset_index()

yop,就像唯一的区别是将两个复制品按2列放置一样……没有再次注意到Thnx@jezrael:)是的,最好删除,但这取决于您