У меня есть фрейм данных pandas с примерно 5 миллионами строк с 2 столбцами "top_level_domain" и "category".Я хотел бы создать новый фрейм данных с различными top_level_domain и столбцом категории, разделенным запятой для уникальных категорий.Этот фрейм данных уже имеет категории, разделенные запятой по своей природе.Другие домены, такие как Google, будут иметь повторяющуюся категорию, но я хочу только одну.
Датафрейм:
df1
top_level_domain category
1 google.com Search Engines
2 service-now.com Business, Software/Hardware
3 google-analytics.com Internet Services
4 live.com None Assigned
5 google.com Content Server
6 google.com Search Engines
7 inspectlet.com Internet Services
8 doubleclick.net Online Shopping, Web Ads
9 google.com Search Engines
10 doubleclick.net Ads
Желаемый вывод:
df2
top_level_domain category
1 google.com Search Engines, Content Server
2 service-now.com Business, Software/Hardware
3 google-analytics.com Internet Services
4 live.com None Assigned
7 inspectlet.com Internet Services
8 doubleclick.net Online Shopping, Web Ads, Ads
Какой самый лучший способвыполнить это?
Я перепробовал все примеры из Pandas groupby по нескольким столбцам, списку из нескольких столбцов
и другим, как показано ниже, но я все еще получаю дубликатыв столбце категории.
distinct_category = distinct_category.groupby('top_level_domain')['category'].agg(lambda x: ', '.join(set(x))).reset_index()
Но я получаю дубликаты в столбцах
1 zoho.com Online Shopping, Interactive Web Applications, Interactive Web Applications, Interactive Web Applications, Motor Vehicles
1 zohopublic.com Internet Services, Motor Vehicles, Internet Services, Online Shopping, Internet Services