【发布时间】:2021-02-23 17:34:30
【问题描述】:
我必须执行多次合并,我正在寻找一种更好的方法,而不是每次都编写相同的代码,创建 4 个数据帧,将它们连接起来,然后再次将它们与原始数据合并。
我有 2 个数据框,它们都有 2 列包含数字。我想匹配这4列并输出匹配的数字。
这是一个例子:
df1 = pd.DataFrame({'Name':['John','Michael', 'Sam'], 'Tel1':['2222','3333', '1111'], 'Tel2':[np.nan, np.nan, '5555']})
df2 = pd.DataFrame({'Second Name':['Smith','Cohen','Moore','Kas', 'Faber'], 'Tel3':['888','3333',np.nan , np.nan, np.nan], 'Tel4':[np.nan, np.nan, np.nan , '1111', np.nan]})
我的代码:
df1_temp = pd.merge(df1,df2, left_on='Tel1', right_on='Tel3', how='left')
df2_temp = pd.merge(df1,df2, left_on='Tel1', right_on='Tel4', how='left')
df3_temp = pd.merge(df1,df2, left_on='Tel2', right_on='Tel3', how='left')
df4_temp = pd.merge(df1,df2, left_on='Tel2', right_on='Tel4', how='left')
concat = pd.concat(df1_temp...)
【问题讨论】:
标签: python pandas dataframe loops merge