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

如何在DataFrame中针对含逗号分隔值的列拆分生成新行?

解决DataFrame中逗号分隔列的拆分换行问题

原始数据

name      col1    col2     col3
bob       bird     78       1000
alice     cat      55       500,600,700
rob       dog      333      20,30

期望结果

name     col1      col2     col3
bob      bird       78      1000
alice    cat        55      500
alice    cat        55      600
alice    cat        55      700
rob      dog        333      20
rob      dog        333      30

解决方案(Pandas实现)

用Pandas的字符串拆分和行展开方法就能快速实现需求:

  1. 构造原始DataFrame(数据已存在可跳过此步)
import pandas as pd

df = pd.DataFrame({
    'name': ['bob', 'alice', 'rob'],
    'col1': ['bird', 'cat', 'dog'],
    'col2': [78, 55, 333],
    'col3': ['1000', '500,600,700', '20,30']
})
  1. 拆分并展开目标列
# 将col3按逗号拆分为列表格式
df['col3'] = df['col3'].str.split(',')
# 把列表中的每个元素单独拆成一行,同时重置索引
result_df = df.explode('col3', ignore_index=True)
# 可选操作:将col3转回数值类型(根据实际数据需求选择)
result_df['col3'] = result_df['col3'].astype(int)

执行后得到的result_df就是符合要求的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 02:29:53