通过多列显示重复项的数据帧

2024-10-01 02:39:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个3米行16列的大DF。我一直在努力寻找只基于某些列的副本。因此,我想将这些行在6列中具有完全相同值的数据子集。我希望根据重复项保留所有行

pp19952017[pp19952017.duplicated(subset=['Postcode', 'Property Type','Street','Town/City', 'District', 'County'],keep=False)]

编辑: 这里是一个类似单个属性的示例,但不会显示重复的属性,因为并非每一列都相同,并且有几个单元格不同。我想有一份复制品的清单,这样我就可以看到同样的房产是如何涨价的

15, ARMINGER ROAD, LONDON, HAMMERSMITH AND FULHAM, W12 7BA, GREATER LONDON

15, ARMINGER ROAD, LONDON, LONDON, HAMMERSMITH AND FULHAM, W12 7BA, GREATER LONDON

不幸的是,这给了我几乎每一行。我已经手动检查过,没有这么多的副本,所以我有点被困在如何找到副本的问题上。 由于这是从1995年到今天的数据,记录方式发生了变化,因此我只能尝试使用此子集来查找重复的数据

提前感谢您的帮助

解决方案: 我想我找到了一个方法。也就是说,我连接了各个相关的列,它们有重复的数据,并使用新连接的列的数据来检查重复。这是一个解决办法,但做我想要的


Tags: and数据df属性副本子集londongreater
1条回答
网友
1楼 · 发布于 2024-10-01 02:39:32

复制品正在按预期工作。问题在于用法。您正在通过keep=False。这意味着所有重复记录都将被标记为重复,并返回所有重复记录

例如,(Adam, 30, NY),(Adam, 35, NY),(Adam, 30, MA),您正在根据名称和;状态(keep = False)将返回两行,因为它将两行都标记为重复

如果传递keep = firstlast,它将相应地将第一条或最后一条记录标记为重复记录,并且只返回1行

相关问题 更多 >