python - 根据 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')})
谢谢
解决方案
尝试合并:
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)