在每个数据框hhid中以不同名称命名的列上合并多个面板数据框

时间:2018-11-19 21:15:13

标签: python pandas merge panel-data

我有一个包含5个数据帧的字典,我需要使用一个家庭ID(hhid)列合并这些数据,每个数据帧中的命名都不同。我需要合并一个名为hhid的列表:w1_hhid,w2_hhid,w3_hhid,w4_hhid,w5_hhid。

我的数据框字典称为成年人,它具有以下键:

In:   adults.keys()

Out: dict_keys(['Adult_W1_Ano', 'Adult_W2_Ano', 'Adult_W3_Ano', 'Adult_W4_Ano', 'Adult_W5_Ano'])

字典中的数据框:

 {'Adult_W1_Ano':        w1_hhid     pid              w1_a_outcome w1_a_phase 
                 0       101012  314585  Successfully Interviewed  Phase One  
                 1       101013  314544  Successfully Interviewed  Phase One
                 2       101013  314550  Successfully Interviewed  Phase One            
                 3       101014  301454  Successfully Interviewed  Phase Two             
                 4       101014  314575    Refused/ Not Available  Phase One  
                 5       101014  314580  Successfully Interviewed  Phase One  
                 6       101014  314581  Successfully Interviewed  Phase One            
                 7       101014  314582  Successfully Interviewed  Phase One            

我合并不正确的尝试:

finaladult = reduce(lambda left, right: pd.merge(left, right, on=['w1_hhid', 'w2_hhid', 'w3_hhid', 'w4_hhid', 'w5_hhid']), adults).sort_values(['w1_hhid','w2_hhid', 'w3_hhid', 'w4_hhid', 'w5_hhid'])

我一直收到以下错误消息: ValueError:无法将DataFrame与类型类为'str'的实例合并

0 个答案:

没有答案