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

pandas如何实现DataFrame字符串列每8位字符用;分隔

Pandas 实现 Column B 每8位插入分号的方案

直接通过字符串处理逻辑即可实现,提供两种常用实现方式:

  • 方式1:逻辑直观的apply写法,适合中小数据量,方便自定义调整规则
import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    "Column A": ["X , Y"],
    "Column B": ["123456781234567812345678,123456781234567812345678"]
})

def process_str(s):
    # 先按原有的逗号拆分出独立的长数字段
    seg_list = s.split(',')
    processed_seg = []
    for seg in seg_list:
        # 每8个字符切分,用;拼接
        processed_seg.append(';'.join([seg[i:i+8] for i in range(0, len(seg), 8)]))
    # 还原逗号分隔结构
    return ','.join(processed_seg)

df["Column B"] = df["Column B"].apply(process_str)

处理后Column B的输出为:12345678;12345678;12345678,12345678;12345678;12345678,和预期结果完全匹配。

  • 方式2:正则向量化写法,适合大数据量,性能更高
    不需要自定义函数,直接调用pandas内置的字符串正则替换方法即可:
df["Column B"] = df["Column B"].str.replace(r'(.{8})(?!$|,)', r'\1;', regex=True)

正则逻辑:匹配连续8个字符,且该字符段后方不是字符串末尾、也不是逗号,在匹配到的8个字符后插入;,不会在逗号前后错误插入分隔符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:48:23