我有一个大约有 500 万行的 Pandas 数据框,其中有 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
小唯快跑啊
扬帆大鱼
相关分类