如果来自一列的数据存在于另一列中,则合并两个数据框
Posted
技术标签:
【中文标题】如果来自一列的数据存在于另一列中,则合并两个数据框【英文标题】:Merge two data Frame if data from one column is present in another column 【发布时间】:2020-11-05 06:46:50 【问题描述】:我有两个 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 新手,我正在学习,所以任何帮助将不胜感激。 提前致谢!
【问题讨论】:
将Fruit
设置为两个数据帧的索引,然后在第二个数据帧(来自b.xlsx
)上使用第一个数据帧的索引(来自a.xlsx
)的索引?
【参考方案1】:
首先您需要安装 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
【讨论】:
以上是关于如果来自一列的数据存在于另一列中,则合并两个数据框的主要内容,如果未能解决你的问题,请参考以下文章