python - 使用 python pandas 删除 2 个不同文件中的重复行
问题描述
早上好!我正在尝试使用熊猫从 csv 文件中删除重复的行。我有 2 个文件,A.csv 和 B.csv 我想删除 A 中存在于 B 中的所有行。
文件 A.csv:
Pedro,10,rojo
Mirta,15,azul
Jose,5,violeta
文件 B.csv:
Pedro,
ignacio,
fernando,
federico,
输出文件 output.csv:
Mirta,15,azul
Jose,5,violeta
尝试加入文件然后申请
cat A.csv B.csv > output.csv
并在 python 中运行这个程序:
import pandas as pd
df = pd.read_csv('output.csv')
df.drop_duplicates(inplace=True)
df.to_csv('final.csv', index=False)
解决方案
data_A = {'name': ['Pedro','Mirta','Jose'], 'age': [10,15,5]}
data_B = {'name': ['Pedro','ignacio','fernando', 'federico']}
A = pd.DataFrame(data=data_A)
B = pd.DataFrame(data=data_B)
A
name age
0 Pedro 10
1 Mirta 15
2 Jose 5
B
name
0 Pedro
1 ignacio
2 fernando
3 federico
df = pd.merge(A, B, on='name', how='left', indicator=True)
df
name age _merge
0 Pedro 10 both
1 Mirta 15 left_only
2 Jose 5 left_only
df = df[df['_merge'] != 'both']
df
name age _merge
1 Mirta 15 left_only
2 Jose 5 left_only
df.drop(columns='_merge', inplace=True)
df
name age
1 Mirta 15
2 Jose 5
推荐阅读
- css - 是否总是在新值之前应用新转换?
- encryption - 密码保护与 AES 加密
- r - 在 R 中选择多个非连续列时出错
- node.js - 事件.js:288。:无法读取 null 的属性“项目”
- r - HighcharteR:工具提示未显示正确的 x 轴值
- bluetooth - Raspberry PI BTLE 可以发现 Fitbit 和 Scale 设备,但无法配对
- asp.net-core - 如何使用目录名称中的句点从 Asp .Net Core 提供静态文件
- java - 当我运行 Maven 打包的 JAR 文件时出现 NoClassDefFoundError
- flutter - 如何在颤动的滚动视图中将容器或任何其他小部件固定在应用栏下方
- sql - 为什么会引发变异表错误?