【发布时间】:2021-02-21 05:30:25
【问题描述】:
我想合并 2 个数据帧,其中查找值存储在多个列上。
import pandas as pd
import numpy as np
d1 = {'CODE': ['BBLGLC70M',np.nan, np.nan, np.nan, np.nan],
'CODE1': [np.nan, np.nan, np.nan, 'AALGLC71P', np.nan],
'CODE2': ['BBLG', np.nan, 'ZZTNRD77', 'PRI', np.nan],
'DESC': ['OK', 'FALSE', 'YES', 'OK', 'NO']
}
df1 = pd.DataFrame(df1)
df1
df = {'NUMBER': ['BBLGLC70M', 'AALGLC71P', 'ZZTNRD77']
}
df = pd.DataFrame(df1)
df
我编写的代码在所有字段中输出 NaN:
merged = pd.merge(df, df1, how='left', left_on=['NUMBER', 'NUMBER', 'NUMBER'], right_on=['CODE', 'CODE1', 'CODE2'])
merged
我希望看到填充的所有文件,例如我希望的第一行:
【问题讨论】:
标签: python pandas dataframe merge left-join