比较两个数据框熊猫并获得差异并完成

时间:2019-11-20 13:11:03

标签: python pandas dataframe jupyter-notebook

df1:
Date       Fruit  Num  Color 
2013-11-24 Banana 22.1 Yellow
2013-11-24 Orange  8.6 Orange
2013-11-24 Apple   7.6 Green
2013-11-24 Celery 10.2 Green
2013-11-24 strawberry 15.2 black

df2:
Date       Fruit  Num  Color 
2013-11-24 Banana 22.1 Yellow
2013-11-24 Orange  8.6 Orange
2013-11-24 Apple   7.6 Green
2013-11-24 Celery 10.2 Green
2013-11-25 Apple  22.1 Red
2013-11-25 Orange  8.6 Orange

result
df1:
2013-11-24 Banana 22.1 Yellow
2013-11-24 Orange  8.6 Orange
2013-11-24 Apple   7.6 Green
2013-11-24 Celery 10.2 Green
**2013-11-25 Apple  22.1 Red**
**2013-11-25 Orange  8.6 Orange**
2013-11-24 strawberry 15.2 black

我想做的是比较这两个图像,找出df2中哪些行不在df1中。我想比较日期(索引),然后将差异按相同顺序放在df1中

2 个答案:

答案 0 :(得分:1)

您可以合并两个数据集,然后删除重复项:

df2.append(df1).drop_duplicates()

输出:

         Date       Fruit   Num   Color
0  2013-11-24      Banana  22.1  Yellow
1  2013-11-24      Orange   8.6  Orange
2  2013-11-24       Apple   7.6   Green
3  2013-11-24      Celery  10.2   Green
4  2013-11-25       Apple  22.1     Red
5  2013-11-25      Orange   8.6  Orange
4  2013-11-24  strawberry  15.2   black

答案 1 :(得分:0)

有时,使用不同的熊猫数据框时,您可能需要获取两个数据框之间“不同”的数据(例如,比较两个熊猫数据框并获取差异)。这似乎是一个直截了当的问题,但显然,它对许多人来说仍然是一个受欢迎的“问题”,并且是我对stackoverflow最受欢迎的问题。

https://pythondata.com/quick-tip-comparing-two-pandas-dataframes-and-getting-the-differences/