[英]conditional string replace in python
我想替换数据框 col 中的所有“否”。 但是如果 col 包含任何其他字符串,例如“No error”,那么它将保持原样。
test = ["No","No Error"]
data = pd.DataFrame(test, columns=["text"])
for i in range(len(data["text"])):
if len(data["text"][i]) == 2:
data["text"][i] = data["text"][i]).str.replace("No", "Data not available", regex=True)
else:
pass
print(data)
运行代码时出现错误。 我可以通过使用 np.where 获得结果,但我还有其他几个条件替换标准,其中“np.where”不起作用。 如果我能让上述方法奏效,那就太好了。 任何帮助是极大的赞赏。
看起来你需要np.where
前任:
test = ["No","No Error"]
data = pd.DataFrame(test, columns=["text"])
data['text'] = np.where(data['text'] == 'No', "Data not available", data['text'])
# OR data.text[data.text=='No'] = "Data not available"
print(data)
Output:
text
0 Data not available
1 No Error
您也可以使用Series.replace
data.text.replace({"No":"Data not available"})
0 Data not available
1 No Error
Name: text, dtype: object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.