python-3.x - Pandas 在 CSV 中删除重复项
问题描述
我有两个 CSV。它们包含相同的列和数据。一个 CSV 添加了其他记录。
我想要 1 个包含新的附加记录的 CSV,并删除所有重复的记录。
我有:
import pandas as pd
rows = pd.read_csv('/home/test/Documents/rows.csv')
rowsadded = pd.read_csv('/home/test/Documents/rowsadded.csv')
joined = rows.append(rowsadded)
reduce = joined.drop_duplicates(subset=None, keep=False, inplace=False)
reduce.to_csv('/home/test/Documents/results.csv')
当我设置 Keep = False 时,所有记录都被删除,只保留列名。
在我附加 CSV 后,有人对删除重复记录有什么建议吗?
更新- 更改代码如下,将新行从 'rowsadded' CSV 附加到 'rows':
reduce = joined.drop_duplicates(keep=False, inplace=True)
我做错了什么 - 我想删除重复项,只保留新行并将该信息写入新的 CSV?
解决方案
一口气全部尝试
pd.concat([df1,df2]).drop_duplicates(keep=False)
推荐阅读
- python-3.x - Gramex SMTP 电子邮件问题
- git - 如何在 Git 中将本地分支转换为远程分支?
- docker-compose - AWS Elastic Beanstalk 在环境 docker-compose.yml 中找不到 ecs 任务定义(或空定义文件)
- asp.net-web-api - Web API - 无法连接到远程服务器
- angular - Angular:轻弹(半翻转)动画
- python-3.x - os.path.join 没有将 \ 放在 Users 文件夹的前面
- javascript - 如何防止手动更改查询字符串强制页面重新加载?
- node.js - Cors 将 Expressjs 中的某些域列入白名单
- node.js - 赛普拉斯通过在 cypress.json 中以某种方式将配置“pageLoadTimeout”覆盖为 1000ms 我将“pageLoadTimeout”设置为 3000m
- python - TFLite 量化模型仍然输出浮点数