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

如何在Pandas DataFrame字符串列每2个字符后插入指定字符

问题分析

你原来的代码逻辑错误在于,遍历对象是comment列的行序列,而非每个单元格内的字符串,因此无法对每个字符串做字符切片插入点号。

正确实现

方案1:正则替换(性能最优,适合大数据量)

直接用Pandas字符串方法结合正则匹配实现,代码如下:

import pandas as pd
# 每2个字符后插入点号,最后去除末尾多余的点
df['comment'] = df['comment'].str.replace(r'(.{2})', r'\1.', regex=True).str.rstrip('.')

方案2:apply自定义函数(逻辑直观,易调整)

如果需要更灵活的自定义规则,可以用apply调用自定义函数实现:

import pandas as pd

def insert_period(text):
    # 处理空值、空字符串场景
    if pd.isna(text) or not text.strip():
        return text
    # 每2个字符切片后用点号拼接
    return '.'.join([text[i:i+2] for i in range(0, len(text), 2)])

df['comment'] = df['comment'].apply(insert_period)

两种方案都可以得到你预期的输出结果,空值、空字符串会保留原状态不会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:57:03