在 python 中使用 pandas 进行 vlookup

Posted

技术标签:

【中文标题】在 python 中使用 pandas 进行 vlookup【英文标题】:Do a vlookup with pandas in python 【发布时间】:2019-09-20 14:25:24 【问题描述】:

我在 python 中的 vlookup 中苦苦挣扎。

我有两个数据集。

首先称为“output_apu_stock1”。这里我有数量和价格,应该更新第二个数据集。

第二个叫做“Angebote_Master_File”。

现在,如果我运行我的代码,新数据集“结果”只包含匹配的值。导致问题,我的“Angebote_Master_File”最初有大约 1600 个观测值,缩小到大约 400 个观测值。

将熊猫导入为 pd

df1 = pd.read_csv("C:/Users/Desktop/output_apu_stock1.csv")

df2 = pd.read_csv("C:/Users/Desktop/Angebote_Master_File.csv")

结果 = df2.merge(df1,on="sku")

我明白了,最终数据集仅包含匹配的观察结果(标识符是“sku”列)并删除其他数据...

我需要包含“Angebote_Master_File”中所有观察结果的合并文件,没有任何损失。

感谢您的帮助! 最好的 迈克尔

【问题讨论】:

results = df2.merge(df1,on="sku", how="left")? 【参考方案1】:

结果 = df2.merge(df1,on="sku", how="outer")

【讨论】:

感谢您的反馈。它运行良好。此外,我想跳过数据库“结果”中不包含在 df2.也许你有小费? 试一试 = 'left'

以上是关于在 python 中使用 pandas 进行 vlookup的主要内容,如果未能解决你的问题,请参考以下文章

使用标准在 python pandas 中进行内部连接

python--pandas切片

如何使用 Pandas 在 Python 中对字典中的数据进行排序

VL_PHOW 文档

python--pandas分组聚合

在 Python (pandas) 的多个列中进行 Vlookup