首页 > 解决方案 > 根据 pandas 中的查找值从另一个数据帧中获取值

问题描述

我有两个熊猫数据框:

df1 = pd.DataFrame({'Type':list('ABCD'), 'Set':list('ZZXY')})
df2 = pd.DataFrame({'Type':list('ABCDEF'), 'Test':list('PQRSTM')})

我想检查 df1['Type'] 中是否存在 df2['Type'] 的值,如果是,则将 df1['Set'] 中的相应值替换为 df2 中的相应值。所以,最终的 df1 应该是这样的

df1 = pd.DataFrame({'Type':list('ABCD'), 'Set':list('PQRS')}) 

谢谢

标签: pythonpandas

解决方案


尝试合并:

import pandas as pd 

df1 = pd.DataFrame({'Type':list('ABCD'), 'Set':list('ZZXY')})
df2 = pd.DataFrame({'Type':list('ABCDEF'), 'Test':list('PQRSTM')})

df1= pd.merge(df1,df2, left_on = 'Type', right_on = 'Type', how ='left').drop('Set', axis =1)

print(df1)

推荐阅读