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

如何将存在多种分隔符的影视genre字段拆分为多个独立列

Genre字段拆分及标准化实施方案

前置准备:梳理类型映射规则

提前整理两类规则,避免拆分错误:

  • 固定多词类型列表:所有本身包含空格、不可拆分的类型,比如Science fiction、Dark comedy、Psychological thriller等,避免拆分时把内部空格判定为类型分隔符
  • 同义词映射规则:把同类型不同名称的标识统一,示例如下:

    Anime → Animation
    Biopic → Biographical
    Family film → Family
    Heist film → Heist

步骤1:统一分隔符格式

首先把所有字段里的/、-、带空格的/ 、-这几类分隔符统一替换为不会和类型字符冲突的|符号,代码示例(基于Python+pandas):

import pandas as pd
# 读取本地数据集
df = pd.read_csv("netflix_original_films_imdb_scores.csv")
# 统一/-两类分隔符为|
df['genre_clean'] = df['Genre'].str.replace(r'\s*[-/]\s*', '|', regex=True)

步骤2:处理空格分隔的类型

先把提前梳理好的固定多词类型的内部空格替换为下划线占位,避免被误拆分,再把剩余的空格替换为分隔符:

# 固定多词类型列表,可根据实际场景补充
multi_word_types = [
    "Science fiction", "Dark comedy", "Black comedy", "Romantic comedy",
    "Psychological thriller", "Historical drama", "Crime thriller",
    "Action thriller", "Action comedy", "Musical comedy"
]
# 多词类型占位:空格替换为下划线
for t in multi_word_types:
    df['genre_clean'] = df['genre_clean'].str.replace(t, t.replace(" ", "_"), regex=False)
# 剩余空格全部替换为分隔符|
df['genre_clean'] = df['genre_clean'].str.replace(r'\s+', '|', regex=True)
# 还原多词类型的空格
for t in multi_word_types:
    df['genre_clean'] = df['genre_clean'].str.replace(t.replace(" ", "_"), t, regex=False)

步骤3:拆分生成独立类型列

用独热编码方式拆分生成每一个类型的独立列,同时完成同义词合并:

# 按|拆分生成独热编码矩阵
genre_dummies = df['genre_clean'].str.get_dummies(sep='|')
# 同义词合并
synonym_map = {
    "Anime": "Animation",
    "Biopic": "Biographical",
    "Family film": "Family",
    "Heist film": "Heist"
}
for old_col, new_col in synonym_map.items():
    if old_col in genre_dummies.columns:
        genre_dummies[new_col] = genre_dummies.get(new_col, 0) | genre_dummies[old_col]
        genre_dummies.drop(old_col, axis=1, inplace=True)
# 合并回原数据集
df = pd.concat([df, genre_dummies], axis=1)

结果校验

  • 随机抽取10%的样本,人工核对拆分后的类型列与原genre字段的匹配度
  • 统计所有类型的出现频次,针对出现次数小于3的稀有类型手动核查,调整映射规则或合并到相似类型

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:21:01