Pandas Merge и создать мультииндекс для дубликатов столбцов - PullRequest
0 голосов
/ 29 августа 2018

У меня есть два кадра данных

sessions = DataFrame({"ID":[1,2,3,4,5],"2018-06-30":[23,34,45,67,75],"2018-07-31":[32,43,45,76,57]})
leads = DataFrame({"ID":[1,2,3,4,5],"2018-06-30":[7,10,28,15,30],"2018-07-31":[7,10,28,15,30]})

Я хочу объединить два фрейма данных по идентификатору, а затем создать многоиндексный вид:

enter image description here

Как я могу это сделать?

прямой pandas.merge создаст суффиксы_x, _y которых я не хочу.

1 Ответ

0 голосов
/ 29 августа 2018

Используйте concat с set_index на ID в обоих фреймах данных, а затем swaplevel с sort_index для ожидаемого MultiIndex в столбцах:

df = (pd.concat([sessions.set_index('ID'), 
                leads.set_index('ID')], 
                axis=1, 
                keys=['sessions','leads'])
        .swaplevel(0,1,axis=1)
        .sort_index(axis=1, ascending=[True, False])
        )
print (df)
   2018-06-30       2018-07-31      
     sessions leads   sessions leads
ID                                  
1          23     7         32     7
2          34    10         43    10
3          45    28         45    28
4          67    15         76    15
5          75    30         57    30
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...