Pandas求助:筛选分类条目总计数最高的前十发布商
嘿,这事儿好办!你已经有了按发布商+分类分组的计数结果,要拿到总计数前十的发布商,咱们可以这么做:
方法一:直接从原DataFrame计算总计数(最简洁)
既然最终要的是每个发布商的总条目数,其实可以跳过你现有的pub_cat_group,直接对原DataFrame按发布商分组求和:
# 计算每个发布商的总标题数 publisher_total = headline_df.groupby('PUBLISHER')['TITLE'].count() # 按总计数降序排序,取前10个发布商 top_10_publishers = publisher_total.sort_values(ascending=False).head(10)
运行这段代码后,top_10_publishers就是一个Series:索引是发布商名称,值是对应的总条目数,而且已经按从高到低排好序了。
方法二:基于你已有的pub_cat_group计算
如果你想基于已经生成的pub_cat_group(多级索引:PUBLISHER → CATEGORY)来计算,只需要按发布商层级求和就行:
# 按发布商层级(多级索引的第一级)求和,得到每个发布商的总计数 pub_total = pub_cat_group.groupby(level='PUBLISHER').sum() # 排序取前10 top_10_pubs = pub_total.sort_values(ascending=False).head(10)
额外需求:查看前十发布商的分类明细
如果还想同时看到这些top10发布商各自的分类条目数,可以这样筛选:
# 获取前十发布商的名称列表 top_pub_names = top_10_pubs.index.tolist() # 从原分组结果中提取这些发布商的分类明细 top_pub_category_details = pub_cat_group.loc[top_pub_names]
这样你就能同时拿到总排名和每个发布商内部的分类分布啦~
内容的提问来源于stack exchange,提问作者Mr. Jibz
相关产品推荐
相关产品推荐

