python - 随机删除重复项

标签 python pandas

Pandas 中,我们可以使用 dataframe.drop_duplicates() 删除重复项,它默认保留重复数据的第一行。如果 keep_last = True,则保留最后一行。 我们如何使用 pandas drop_duplicate 保留任何随机行并删除重复行?

最佳答案

完成此任务的 Pythonic 方式:

df = df.sample(frac=1).drop_duplicates()

在这里,我们采用的样本等于数据帧的完整大小,没有放回。这有效地打乱了所有行的位置,允许我们删除重复项并保留第一行,之前是随机的。

如果你需要保持索引的顺序,你也可以重置它:

df = df.sample(frac=1).drop_duplicates().reset_index(drop=True)

关于python - 随机删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22864878/

相关文章:

python - 我可以在 Django 的不同文件中划分模型吗

python - 如何访问 Scikit Learn 嵌套交叉验证分数

python - 如何返回不在列表中的键?

python - 如何使用 gui 工具确定开放图形的图形尺寸?

python - 如何根据年份在 Pandas 数据框中创建多个列

python - 如何用不在 Pandas 系列中先前值的特定范围内的 NAN 替换任何值?

python - 模板 "extends"的 Django 1.5 错误?

javascript - 如何通知客户端浏览器有关服务器上的某些事件?

python - 转换大型数据框 - 花费太长时间

python - 如何在 Pandas 中创建 lazy_evaluated 数据框列