我想识别具有特定格式的列中的值,然后将其中一个元素'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