在每个dataframe hhid中不同名称的列上合并多个面板dataframe

2024-05-16 03:16:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含5个数据帧的字典,我需要使用一个househid(hhid)列来合并它,该列在每个数据帧中的名称都不同。我需要在一个名为w1\u hhid,w2\u hhid,w3\u hhid,w4\u hhid,w5\u hhid的hhid列表上合并。你知道吗

我的dataframes字典名为“成人”,它有以下键:

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”的实例合并


Tags: 数据字典onew1successfullyanophasew3