Python-用特定格式标识值+替换这些值中的一个元素



我想识别具有特定格式的列中的值,然后将其中一个元素'x'替换为'0'。例如,格式为"祝辞= 3.1。x";或";祝辞= 9.5。x"。期望的输出是"祝辞= 3.1.0";或";祝辞= 9.5.0"。如何用0代替x呢?

下面是我开始的代码:
format_x = re.compile(r"(?P<convert>(?:[>]?=?d+.d+.x))")
def convert_format_x(x):
match = format_x.search(x["column_4"])    
convert = match.group("convert")
return

testing = testdata['column_4'].apply(convert_constraint, axis = 1)      

Output: 
AttributeError: 'NoneType' object has no attribute 'group'

您可以使用Series.str.replace作为任务:

df["column_4"] = df["column_4"].str.replace(
r"(>=d+.d+.)x", r"g<1>0", regex=True
)
print(df)

打印:

column_4
0  >=3.1.0
1  >=9.5.0
2   =x.y.z

Dataframe使用:

column_4
0  >=3.1.x
1  >=9.5.x
2   =x.y.z

最新更新