首页 > 解决方案 > 如果来自一列的数据存在于另一列中,则合并两个数据框

问题描述

我有两个excel文件。

Excel 1 - a.xlsx containing
SL NO       Fruit   Colour  Quantity
1           Apple       
2           Orange      
3           Banana      
4           Pineapple       
5           pears       
6           Grape       
7           Mango       

和 Excel 2 - b.xlsx 包含

SL NO       Fruit       Colour      Quantity
1           Apple       RED         2
2           Orange      Orange      4
3           Pineapple   Brown       6
4           Grape       Purple      8

我想要一个像这样完整的新excel文件

SL NO       Fruit       Colour      Quantity
1           Apple       RED         2
2           Orange      Orange      4
3           Banana      
4           Pineapple   Brown       6
5           pears       
6           Grape       Purple      8
7           Mango        

我如何执行相同的操作?应根据水果名称进行匹配。我可以将它加载到不同的数据帧中,但是之后如何操作并使用合并的输出创建一个新的 excel?我是 python 新手,我正在学习,所以任何帮助将不胜感激。提前致谢!

标签: pythonexcelpandasdataframemerge

解决方案


首先,您需要安装 pandas 库。如果您还没有,请使用:

pip install pandas

现在,导入 pandas,您可以使用 pd.merge 函数:

import pandas as pd

new_excel = pd.merge(excel_1, excel_2, on = ['Fruit'], how = 'left')

如果这有助于您理解,这将类似于 excel 中的 VLOOKUP 函数。如果您感兴趣,请查看这篇文章以了解更多信息: Pandas Merging 101


推荐阅读