我有一系列字符串(时间戳),我想有条件地替换这些字符串中的子字符串: - 如果有“+”字符,我想用“-”替换它 - 或者相反,如果有“-”字符,我想用“+”替换它
我显然不能无条件地简单地使用replace(),否则最终所有+ & - 都会转换为单个+字符。
mySeries = mySeries.str.replace('+','-', regex=False)
mySeries = mySeries.str.replace('-','+', regex=False)
请问这个符号反转应该如何操作?
我预先感谢您的帮助。 祝你有美好的一天,
最好的,
皮埃尔
最佳答案
您可以将正则表达式与接收匹配对象的 lambda 函数结合使用:
0 qqq--++www++
1 1234+5678-
dtype: object
s.str.replace(pat=r"\+|-", repl= lambda mo: "+" if mo.group()=="-" else "-", regex=True)
0 qqq++--www--
1 1234-5678+
dtype: object
关于python - 如何有条件地替换 pandas 数据框列中的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59508962/