将2个数据框与检查ID进行比较,并确定其他数据框column中的列值。如果值在那里,则更改相应的列

时间:2018-09-20 04:47:46

标签: python pandas dataframe jupyter-notebook python-3.6

我有一种情况,我在python中有2个数据框

df1 = {
    'A':['1','2','3'],
    'B':['c','d','e']
    },

df2 = {
    'X':['2','1'],
    'Y':['n','m']   
}

现在,如果A列与X列中的任何值匹配,我希望B具有对应的Y值 在这种情况下,输出:

df1 = {
    'A':['1','2','3'],
    'B':['m','n','e']
    }

请提出建议

1 个答案:

答案 0 :(得分:0)

使用map系列created中的set_index,用fillna替换缺失值:

df1['B'] = df1['A'].map(df2.set_index('X')['Y']).fillna(df1['B'])
print (df1)
   A  B
0  1  m
1  2  n
2  3  e