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

Python中按分隔符每隔一位将单列拆分至多列的实现方法

Pandas 实现指定列两两配对拆分

核心逻辑是先按分隔符全量切分字符串,再按步长2取元素组,组内重新拼接为配对值,最后映射为多列即可,具体实现如下:

  • 单字符串拆分规则:对形如a;b;c;d的字符串,先按;切分为['a','b','c','d'],再按索引0-1、2-3分组,每组重新用;拼接,得到['a;b', 'c;d'],对应两列的取值。
  • 批量处理时直接对DataFrame的目标列应用该规则,拆分结果按顺序赋值给新列即可。

完整可运行代码

import pandas as pd

# 构造示例数据集
df = pd.DataFrame({
    "raw_col": ["1;899.618000;2;0.551582;7;93.643914;8;12.00000"]
})

# 定义两两配对拆分函数
def split_to_pairs(text):
    parts = text.split(";")
    return [";".join(parts[i:i+2]) for i in range(0, len(parts), 2)]

# 批量拆分目标列
split_output = df["raw_col"].apply(split_to_pairs).tolist()
# 自动生成新列名Col1、Col2...
new_columns = [f"Col{i+1}" for i in range(len(split_output[0]))]
# 将拆分结果写入新列
df[new_columns] = split_output

结果说明

运行代码后,示例行的各新列取值如下:

  • Col1: 1;899.618000
  • Col2: 2;0.551582
  • Col3: 7;93.643914
  • Col4: 8;12.00000

如果数据中存在某行按;切分后元素总数为奇数的情况,可以在split_to_pairs函数中给parts列表末尾补充默认值(比如空字符串),避免最后一组取值缺失。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 23:51:36