我有一个包含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'的实例合并