Python Can';t使用drop_duplicates从数据帧中删除重复项
所以我使用的是来自Pandas的DataFrame,python 我将要提到的数据帧是通过以下方式创建的:Python Can';t使用drop_duplicates从数据帧中删除重复项,python,pandas,dataframe,Python,Pandas,Dataframe,所以我使用的是来自Pandas的DataFrame,python 我将要提到的数据帧是通过以下方式创建的: search = DataFrame([[262,'ny', '20'],[515,'paris','19'],[669,'ldn','10'], [669,'ldn', 10],[669,'ldn',5]],columns = ['subscriber_id','location','radius' ]) title = DataFrame([[262,'director'],[515
search = DataFrame([[262,'ny', '20'],[515,'paris','19'],[669,'ldn','10'], [669,'ldn', 10],[669,'ldn',5]],columns = ['subscriber_id','location','radius' ])
title = DataFrame([[262,'director'],[515,'artist'],[669,'scientist']],columns = ['subscriber_id','title' ])
然后合并标题和搜索数据帧
mergedTable = merge(title, search, on='subscriber_id', how= 'outer')
这形成了数据框架:
subscriber_id title location radius
0 262 director ny 20
1 515 artist paris 19
2 669 scientist ldn 10
3 669 scientist ldn 10
4 669 scientist ldn 5
正如我们所看到的,它已经被正确地合并了,所以我们现在有了一个订阅服务器的多行数据,这取决于他们的搜索
现在我不想摆脱订阅者有多个不同值的行,但我想摆脱重复的行
这是期望的最终结果:
subscriber_id title location radius
0 262 director ny 20
1 515 artist paris 19
2 669 scientist ldn 10
4 669 scientist ldn 5
第3行(第2行的副本)被删除
我一直在研究这个问题,似乎drop_duplicates()应该可以工作,即
mergedTable.drop_duplicates()
但这不起作用,行不会被删除。有可用的提示/解决方案吗?由于以下字符串,您的半径为dtype对象:
[669,'ldn','10']
。和'10'!=10
。转换为整数将实现以下目的:
>>> mergedTable.radius = mergedTable.radius.astype(int)
>>> mergedTable.drop_duplicates()
subscriber_id title location radius
0 262 director ny 20
1 515 artist paris 19
2 669 scientist ldn 10
4 669 scientist ldn 5
由于下列字符串,您的半径为dtype对象:
[669,'ldn','10']
。和'10'!=10
。转换为整数将实现以下目的:
>>> mergedTable.radius = mergedTable.radius.astype(int)
>>> mergedTable.drop_duplicates()
subscriber_id title location radius
0 262 director ny 20
1 515 artist paris 19
2 669 scientist ldn 10
4 669 scientist ldn 5
由于下列字符串,您的半径为dtype对象:
[669,'ldn','10']
。和'10'!=10
。转换为整数将实现以下目的:
>>> mergedTable.radius = mergedTable.radius.astype(int)
>>> mergedTable.drop_duplicates()
subscriber_id title location radius
0 262 director ny 20
1 515 artist paris 19
2 669 scientist ldn 10
4 669 scientist ldn 5
由于下列字符串,您的半径为dtype对象:
[669,'ldn','10']
。和'10'!=10
。转换为整数将实现以下目的:
>>> mergedTable.radius = mergedTable.radius.astype(int)
>>> mergedTable.drop_duplicates()
subscriber_id title location radius
0 262 director ny 20
1 515 artist paris 19
2 669 scientist ldn 10
4 669 scientist ldn 5
不明白为什么被否决;我的票数已达到天数限制,因此无法追加投票。这个问题,尽管是一些疏忽的结果,对我来说似乎很好,有有效的测试用例,不幸的是不是最常见的事情;我的票数已达到天数限制,因此无法追加投票。这个问题,尽管是一些疏忽的结果,对我来说似乎很好,有有效的测试用例,不幸的是不是最常见的事情;我的票数已达到天数限制,因此无法追加投票。这个问题,尽管是一些疏忽的结果,对我来说似乎很好,有有效的测试用例,不幸的是不是最常见的事情;我的票数已达到天数限制,因此无法追加投票。这个问题,尽管是一些疏忽的结果,对我来说似乎很好,有有效的测试用例,不幸的是不是最常见的事情。