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

pandas如何将含不同数量逗号分隔符的字符串列拆分为多个列

实现代码

你可以直接用pandas内置的字符串拆分方法实现,完整可运行代码如下:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({'Q10': {2: 'A,B',
  3: 'C',
  4: 'A,E,B,C',
  5: 'P'}})

# 按逗号拆分列,不足位置自动补NaN
split_result = df['Q10'].str.split(',', expand=True)

# 生成符合要求的列名,两种可选方式:
# 方式1:手动定义序数词,适合拆分后列数少的场景
ordinal = ['first', 'second', 'third', 'fourth', 'fifth']
split_result.columns = [f'Q10_{ordinal[i]}_value' for i in range(split_result.shape[1])]

# 方式2:自动生成序数后缀,适合拆分后列数多的场景
# split_result.columns = [
#     f'Q10_{i+1}{"st" if i%10==0 and i not in (10,11,12) else "nd" if i%10==1 and i not in (10,11,12) else "rd" if i%10==2 and i not in (10,11,12) else "th"}_value' 
#     for i in range(split_result.shape[1])
# ]

# 合并回原表(不需要保留原Q10列的话直接写 df = split_result 即可)
df = pd.concat([df, split_result], axis=1)

效果验证

运行后得到的DataFrame拆分列完全符合要求,不足位置自动填充NaN,列名格式为Q10_first_value、Q10_second_value依次递增。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:45:04