[英]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.