Объединение нескольких панелей данных в столбце с разными именами в каждом кадре данных hhid - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть словарь, который содержит 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'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...