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

如何将Pandas DataFrame多类别列拆分并扩展行实现单类别分配?

解决Pandas DataFrame多类别列拆分问题

首先明确:必须增加DataFrame的行数,因为每个包含多类别的行需要拆分为多个单行,每行对应一个独立类别。

你已经完成了第一步——用str.split(',')把多类别字符串拆成列表,接下来只需要用explode()方法就能把列表元素拆成单独行,同时保留原数据的其他列内容。

完整实现代码

假设你的原始数据框是df,执行以下代码:

# 拆分字符串为列表,同时去除类别名称前后的空格
df['product_type_single_cat'] = df['product_type'].str.split(',').apply(lambda x: [item.strip() for item in x])
# 将列表展开为单独行,重置索引
df_exploded = df.explode('product_type_single_cat').reset_index(drop=True)
# 查看目标列结果
print(df_exploded['product_type_single_cat'].head())

预期输出

执行后会得到你想要的每行一个类别的格式:

0    Q
1    B
2    J
3    D
4    J

关键说明

  • explode()是Pandas专门处理列表/数组类型列的方法,会把每个列表元素拆成独立行,自动复制原行的其他列数据,完全匹配你的需求。
  • 加入strip()是为了处理原字符串中类别间的空格(比如"Q, B"拆分后会得到带空格的" B"),保证类别名称的准确性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 20:25:13