Python PANDAS:在字符串字段中有条件地插入字符

时间:2017-11-03 21:45:00

标签: python regex pandas

使用以下条件在PANDAS字符串字段中有条件地插入字符的最佳方法是什么:

  1. 插入"。"在左边的前3个数字字符之后(忽略字母)
  2. 不要添加"。"如果没有其他字符尾随

    96501
    E0000
    V909
    965
    

    变为

    965.01
    E000.0
    V909
    965
    

1 个答案:

答案 0 :(得分:1)

您可以使用((?:\D*\d){3})捕获前三位数字,使用(?=.+)断言后面至少还有一个字符,并使用反向引用将.添加到捕获的模式中:

df[0].str.replace(r'^((?:\D*\d){3})(?=.+)', r'\1.')
#0    965.01
#1    E000.0
#2      V909
#3       965
#Name: 0, dtype: object