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

如何在Pandas中动态拆分单元格前3个值到新列并保留原列?

Pandas动态拆分逗号分隔值至新列(保留原列)

实现代码

import pandas as pd

# 创建示例数据
data = {
    'Phone Number': [
        '233,234,235,236,237,223',
        '214,226,290',
        '230,231'
    ]
}
df = pd.DataFrame(data)

# 将原列按逗号分割为列表,方便后续取值
df['split_numbers'] = df['Phone Number'].str.split(',')

# 循环创建3个新列,提取前3个值
for i in range(1, 4):
    # 取分割后列表的对应位置元素,长度不足时返回空值
    df[f'Phone Number {i}'] = df['split_numbers'].apply(lambda x: x[i-1] if len(x) >= i else '')

# 移除临时辅助列
df = df.drop('split_numbers', axis=1)

# 查看最终结果
print(df)

代码说明

  • 先把Phone Number列的字符串按逗号拆分存为列表,用临时列split_numbers中转,方便按索引取值
  • 通过for循环动态生成Phone Number 1到Phone Number 3三个新列:
    • 用apply遍历每个列表,判断长度是否足够取对应位置的值,不足则填充空字符串(也可替换为None)
  • 最后删除临时辅助列,保留原列和新生成的三列

输出结果

Phone NumberPhone Number 1Phone Number 2Phone Number 3
233,234,235,236,237,223233234235
214,226,290214226290
230,231230231

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:10:25