簡體   English   中英

python 中的條件字符串替換

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM