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

如何在Pandas数据集中将单列拆分为多个独立列

数据集示例

data set

Pandas完全可以实现把genres列的多值拆分到独立列的需求,根据你最终想要的效果,有两种常用实现方式:


方式1:按值的顺序拆分成固定序号的列

如果只是想把每个电影的类型按原字符串里的顺序拆成第1类、第2类……这种格式的列,用str.split()加expand=True参数即可,操作逻辑:

  • 先确认genres列的多值分隔符,常见的是竖线|、逗号,,替换成你数据集实际的分隔符就行
  • 拆分列后给新列命名,再合并回原数据表

参考代码:

import pandas as pd

# df是你加载完成的电影数据集
# 拆分genres列,expand=True会直接把拆分结果输出为多列结构
split_genres = df["genres"].str.split(pat="|", expand=True)
# 给拆分后的列设置列名
split_genres.columns = [f"genre_{idx+1}" for idx in range(split_genres.shape[1])]
# 和原表合并,不需要原genres列的话可以在concat前先执行df = df.drop(columns=["genres"])
df = pd.concat([df, split_genres], axis=1)

方式2:每个类型单独生成0/1标识列(独热编码)

如果是要做后续数据分析、建模,通常更实用的方式是给每个出现过的电影类型单独建一列,对应电影属于该类型就标1,不属于就标0,用str.get_dummies()可以一步实现:

# 按分隔符直接生成类型独热矩阵
genre_onehot = df["genres"].str.get_dummies(sep="|")
# 合并回原表
df = pd.concat([df, genre_onehot], axis=1)

小提示:如果genres列存在空值,拆分前先执行df["genres"] = df["genres"].fillna("")填充空值,避免拆分结果出现异常缺失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:21:28