2016-08-22 8 views
-4

У меня есть dataframeПанда: создать таблицу с помощью GroupBy

ID subdomain search_engine search_term code category term_code 
0120bc30e78ba5582617a9f3d6dfd8ca yandex.ru 0 None 1 поисковая машина 1 
0120bc30e78ba5582617a9f3d6dfd8ca my-shop.ru 0 None 5 интернет-магазин 1 
0120bc30e78ba5582617a9f3d6dfd8ca ru.tele2.ru 0 None 10 Телеком-провайдеры 1 
0120bc30e78ba5582617a9f3d6dfd8ca yandex.com yandex алиэкспресс 1 поисковая машина 6 
0120bc30e78ba5582617a9f3d6dfd8ca fb.ru 0 None 3 информационный ресурс 1 
0120bc30e78ba5582617a9f3d6dfd8ca shopotam.ru 0 None 4 интернет-агрегатор 1 
031ce36695306ac09ae905927a753f33 ya.ru 0 None 1 поисковая машина 1 
031ce36695306ac09ae905927a753f33 cyberforum.ru 0 None 3 информационный ресурс 1 
031ce36695306ac09ae905927a753f33 fixim.ru 0 None 8 запчасти и ремонт 1 
031ce36695306ac09ae905927a753f33 microsoft.com 0 None 9 сайты производителей с возможностью купить 1 
031ce36695306ac09ae905927a753f33 market.yandex.ru 0 None 4 интернет-агрегатор 1 

Мне нужно получить

ID, path 
0120bc30e78ba5582617a9f3d6dfd8ca, поисковая машина -> интернет-магазин -> Телеком-провайдеры -> поисковая машина -> информационный ресурс -> интернет-агрегатор 
031ce36695306ac09ae905927a753f33, поисковая машина -> информационный ресурс -> запчасти и ремонт -> сайты производителей с возможностью купить -> интернет-агрегатор 

Я имею в виду, я хочу, чтобы получить колонку term_code и преобразовать его в строку с разделителем -> каждые ID Как я могу это сделать?

ответ

1

попробовать это:

df.groupby('ID')['category'].apply(lambda x: ' -> '.join(list(x))) 

Демо:

In [14]: df.groupby('ID')['category'].apply(lambda x: ' -> '.join(list(x))) 
Out[14]: 
ID 
0120bc30e78ba5582617a9f3d6dfd8ca      поисковая машина -> интернет-магазин -> Телеком-провайдеры -> 6 -> информационный ресурс 
-> интернет-агрегатор 
031ce36695306ac09ae905927a753f33 поисковая машина -> информационный ресурс -> запчасти и ремонт -> сайты производителей с возможностью купить 
-> интернет-агрегатор 
Name: category, dtype: object 
Смежные вопросы