• import pandas as pd
    import numpy as np

# 例示用のDataFrame
df = pd.DataFrame({
    'aaa': ['x', 'y', 'z'],
    'bbb': [1, 2, 3],
    'ddd': np.nan  # 初期値としてNaNをセット
})

df2 = pd.DataFrame({
    'aaa': ['x', 'y', 'a'],
    'bbb': [1, 2, 4],
    'ccc': ['value_x', 'value_y', 'value_a']
})

# dfとdf2を'aaa'と'bbb'列で照合し、一致する場合はdf2の'ccc'の値をdfの'ddd'にセット
df = df.merge(df2'aaa', 'bbb', 'ccc', on=['aaa', 'bbb'], how='left', suffixes=('', '_y'))

# 照合しない場合は'ddd'列に0をセット
df['ddd'] = df['ccc'].fillna(0)

# 不要になった'ccc'列を削除
df.drop(columns=['ccc'], inplace=True)

print(df)