【问题标题】:Pandas DataFrame - Add a character after every 2 position in a seriesPandas DataFrame - 在系列中的每 2 个位置后添加一个字符
【发布时间】:2021-09-13 19:24:22
【问题描述】:

我有以下数据框

ID comment
1 abcdefg
2 xkie
3
4 yvv12

我需要在 Comment 列中每 2 个字符后添加一个逗号,因此输出将是

ID comment
1 ab.cd.ef.g
2 xk.ie
3
4 yv.v1.2

我试过但没用的代码是:

df['comment'] = '.'.join(df['comment'][i:i + 2] for i in range(0, len(df['comment']), 2))

【问题讨论】:

    标签: python regex pandas


    【解决方案1】:

    使用str.replace。每 2 个字符插入点 . \w{2} 除非这是行尾 (?!$)

    df['comment'] = df['comment'].str.replace(r'(\w{2}(?!$))', r'\1.', regex=True)
    

    输出:

    >>> df
       ID     comment
    0   1  ab.cd.ef.g
    1   2       xk.ie
    2   3         NaN
    3   4     yv.v1.2
    

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 2021-05-01
      • 1970-01-01
      • 2021-05-12
      • 2017-03-07
      • 2020-07-19
      • 2020-01-04
      • 2014-07-17
      • 2021-05-04
      相关资源
      最近更新 更多