我想 vlookup dataframe.If 值存在于另一个 df 中,保持相同的值,否则将 #N/A 放入 pandas python

I want to vlookup dataframe.If value is present in another df ,keep same value,otherwise put #N/A in pandas python

import pandas as pd
data = {'Car':['Jeep', 'Maruti Suzuki', 'Audi','Kia'],
        'order':[10,15,2,5]}
        # Create DataFrame
df = pd.DataFrame(data)
print (df)
output:
             Car  order
0           Jeep     10
1  Maruti Suzuki     15
2           Audi      2
3            Kia      5
data = {'Car':['Jeep', 'Maruti Suzuki','Kia'],
        'City':['M','P',"D"]
        }
df2 = pd.DataFrame(data)
print (df2)
            Car City
0           Jeep    M
1  Maruti Suzuki    P
2            Kia    D

需要输出

           Car          Available     order
0           Jeep           Jeep     10
1  Maruti Suzuki  Maruti Suzuki     15
2           Audi           #N/A      2
3            Kia            Kia      5

我要vlookup.If df['Car']在df2中存在,保持不变value.and如果df2中不存在,在df中添加#N/A ['可用'].

需要输出

             Car      Available  order
0           Jeep           Jeep     10
1  Maruti Suzuki  Maruti Suzuki     15
2           Audi           #N/A      2
3            Kia            Kia      5

使用 mergeindicator 参数:

out = pd.merge(df, df2['Car'], on='Car', how='left', indicator=True)
out['Available'] = np.where(out['_merge'] == 'both', out['Car'], '#N/A')
# out = out.drop(columns='_merge')
>>> out[['Car', 'Available', 'order']]
             Car      Available  order
0           Jeep           Jeep     10
1  Maruti Suzuki  Maruti Suzuki     15
2           Audi           #N/A      2
3            Kia            Kia      5