python - 比较python中的两个数据框
问题描述
我有两个数据框。我必须比较两个数据框并使用 python 获取不匹配数据的位置。
注意:第一列将始终不是唯一的。
数据框 1:
0 1 2 3 4
0 1 Dhoni 24 Kota 60000.0
1 2 Raina 90 Delhi 41500.0
2 3 Kholi 67 Ahmedabad 20000.0
3 4 Ashwin 45 Bhopal 8500.0
4 5 Watson 64 Mumbai 6500.0
5 6 KL Rahul 19 Indore 4500.0
6 7 Hardik 24 Bengaluru 1000.0
数据框 2
0 1 2 3 4
0 3 Kholi 67 Ahmedabad 20000.0
1 7 Hardik 24 Bengaluru 1000.0
2 4 Ashwin 45 Bhopal 8500.0
3 2 Raina 90 Delhi 41500.0
4 6 KL Rahul 19 Chennai 4500.0
5 1 Dhoni 24 Kota 60000.0
6 5 Watson 64 Mumbai 6500.0
我期望的输出(3,5)-(Indore - Chennai)
。
解决方案
df1=pd.DataFrame({'A':['Dhoni','Raina','KL Rahul'],'B':[24,90,67],'C':['Kota','Delhi','Indore'],'D':[6000.0,41500.0,4500.0]})
df2=pd.DataFrame({'A':['Dhoni','Raina','KL Rahul'],'B':[24,90,67],'C':['Kota','Delhi','Chennai'],'D':[6000.0,41500.0,4500.0]})
df1['df']='df1'
df2['df']='df2'
df=pd.concat([df1,df2],sort=False).drop_duplicates(subset=['A','B','C','D'],keep=False)
print(df)
A B C D df
2 KL Rahul 67 Indore 4500.0 df1
2 KL Rahul 67 Chennai 4500.0 df2
我添加了 df 列来显示,df 差异来自
推荐阅读
- python - Python dataframe error : xlsxwriter exceptions : Invalid Excel character '[]:*?/\' and
- node.js - Bot framework V4 Nodejs chat history logging
- oracle - 单击按钮后在多记录块中上升
- c++ - C++ - 不能将派生类型作为基类型列表传递给构造函数
- angular - CommonJS 中的模块
- amazon-web-services - AWS 自动化测试 - SNS SQS Lambda DynamoDB
- flutter - 如何跟踪抽屉是否在侧屏点击时关闭?
- javascript - 获取对javascript中元素的引用
- php - 根据行名获取列名
- java - 如何将类文件从 bin 加载到 JETTY 服务器