我有2个数据集,我需要基于'MAKE'
获取'MODEL'
列
但结果列位于单独的数据框中(不与现有数据框合并)
我可以使用以下代码合并数据,
def vlookup_sample():
df1 = pd.read_excel('tb1.xlsx', sheet_name='Sheet1')
df2 = pd.read_excel('tb2.xlsx', sheet_name='Sheet1')
df = pd.merge(df1, df2[['MODEL', 'MAKE']], on='MODEL', how='left')
df["MAKE"].fillna("<n/a>", inplace=True)
print df
数据集1
ID MODEL REQUESTS ORDERS
1 Golf 123 4
2 Passat 34 5
3 Model 3 500 8
4 M3 5 0
数据集2
MODEL TYPE MAKE
Golf Sedan Volkswagen
M3 Coupe BMW
Model 3 Sedan Tesla
预期输出:
MAKE
Volkswagen
Nan
Tesla
BMW
如何将结果保存到单独的数据中
答案 0 :(得分:2)
您可以执行相同的合并,并使用df.loc[]
从合并输出中调用MAKE
列:
new_df = df1.merge(df2,on='MODEL',how='left').loc[:,['MAKE']]
#pd.merge(df1, df2[['MODEL', 'MAKE']], on='MODEL', how='left').loc[:,['MAKE']]