这是一个更大的数据框的示例。想象一下我有一个像这样的数据框:
import pandas as pd
df = pd.DataFrame({"ID":["4SSS50FX","2TT1897FA"],
"VALUE":[13, 56]})
df
Out[2]:
ID VALUE
0 4SSS50FX 13
1 2TT1897FA 56
每次从数字更改为文本以及从文本更改为数字时,我想在 df["ID"] 的字符串中插入“-”。所以输出应该是这样的:
ID VALUE
0 4-SSS-50-FX 13
1 2-TT-1897-FA 56
我可以为每种情况创建特定条件,但我想对所有示例实现自动化。有人可以帮助我吗?
最佳答案
您可以使用 lookarounds 的正则表达式.
df['ID'] = df['ID'].str.replace(r'(?<=\d)(?=[A-Z])|(?<=[A-Z])(?=\d)', '-')
正则表达式匹配一个空字符串,该字符串前面是数字,后面是字母,反之亦然。然后,该空字符串将替换为 -
。
关于python - 每次我的字符串从文本更改为数字时,如何插入字符 ('-"),反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74464690/