У меня есть словарь, который содержит 5 фреймов данных, которые мне нужно объединить, используя столбец идентификатора домохозяйства (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'