如何使用pandas拆分genre列并统计各独立类型的出现次数
问题原因
你当前的genre列是逗号分隔的字符串类型,explode()方法仅对列表类型的列生效,直接调用不会拆分字符串,所以最终统计的是完整字符串组合的频次,不符合需求。
解决代码
第一步先将字符串按分隔符拆分为列表,再执行展开、统计操作即可:
# 适配你的数据中逗号+空格的分隔格式 genre_counts = TopMovies_df['genre'].str.split(', ', expand=False).explode().dropna().value_counts() print(genre_counts)
如果要兼容分隔符前后有多余空格的场景,可使用更稳妥的写法:
# 兼容异常空格场景 genre_counts = ( TopMovies_df['genre'] .str.split(',', expand=False) .explode() .str.strip() # 清除分类名前后的多余空格 .dropna() .value_counts() ) print(genre_counts)
如果需要输出你示例中每行分类名 频次的纯文本格式,可追加如下代码:
for genre, count in genre_counts.items(): print(f"{genre} {count}")
内容的提问来源于stack exchange,提问作者user15053490
相关产品推荐
相关产品推荐

