You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计单列中各独立电影类型数量并绘图 避免多类型组合被计为单独类别

IMDb多标签类型列统计方案

问题背景

现有IMDb电影数据集的DataFrame,其genres列存储电影所属类型,单条数据可能是Drama, Adventure, Romance的多类型组合,也可能是仅包含Drama的单一类型。需要统计每个单独类型的出现次数并绘制图表,而非将组合类型识别为独立分类。

最简实现方案

不需要手动写循环拆分,直接用pandas内置的str.split+explode方法即可完成列展开,代码如下:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 1. 预处理:拆分多类型列并展开为单行单类型格式
# 正则`,\s*`适配逗号后可能存在的空格,避免出现` Drama`这类带空格的异常统计项
df_genre_expand = df.assign(
    single_genre = df['genres'].str.split(',\s*')
).explode('single_genre')

# 2. 直接复用原有统计逻辑绘图即可
sns.countplot(
    y="single_genre", 
    data=df_genre_expand, 
    palette="Set2", 
    order=df_genre_expand['single_genre'].value_counts().index[0:15]
)

# 可选:补充图表标注
plt.xlabel('出现次数')
plt.ylabel('电影类型')
plt.title('热度前15的电影类型分布')
plt.show()

补充说明

  • 如果数据集存在genres为空的异常数据,可以在预处理前先执行df = df.dropna(subset=['genres'])过滤
  • 直接运行df_genre_expand['single_genre'].value_counts()即可输出所有类型的统计结果

内容的提问来源于stack exchange,提问作者abdurion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:24:04