左加入两个DF并获得旗帜
notna()
.
import pandas as pd
from io import StringIO
data1 = """Country_code,Country
U123_CA,USA
C123_TR,Canada
I123_MU,India
E123_EU,Europe"""
data2 = {
'Code': ['U123_CA', 'C123_TR', 'I999_MU'],
'Country': ['USA', 'Canada', 'India'],
'Date': [2021, 2020, 2022]
}
df1 = pd.read_csv(StringIO(data1))
df2 = pd.DataFrame(data2)
df1 = df1.merge(df2, how='left',
left_on=['Country_code', 'Country'],
right_on=['Code', 'Country'])
df1['flag'] = df1['Code'].notna()
df1.drop(columns=['Code', 'Date'], inplace=True)
print(df1)
输出
Country_code Country flag
0 U123_CA USA True
1 C123_TR Canada True
2 I123_MU India False
3 E123_EU Europe False