首页 > 解决方案 > 如何根据条件从一个 pandas 数据框中提取数据并将其添加到另一个 pandas 数据框中?

问题描述

我有两个数据框 - DF1 和 DF2。两者都有一个“ID”列。

如何根据行中的“ID”值将 DF1 中不同列的值复制到 DF2 中具有相同“ID”的相应行?

简而言之,我想我正在尝试在 Python Pandas 中复制 Microsoft Excel 中的 VLOOKUP 功能。

标签: pythonpandasdataframevlookup

解决方案


DataFrame.join()可以与VLOOKUP. 它将第一列dataframe与第二列的索引连接起来dataframe

测试代码:

df1 = pd.DataFrame({'ID': ['A', 'B', 'C', 'D', 'E']})
df2 = pd.DataFrame({'ID': ['B', 'C', 'D'],
                    'Column': [1, 2, 3]})

df1.join(df2.set_index('ID')['Column'], on='ID')

测试结果 :

df1.join(df2.set_index('ID')['Column'], on='ID')
Out[2]: 
  ID  Column
0  A     NaN
1  B     1.0
2  C     2.0
3  D     3.0
4  E     NaN

推荐阅读