首頁  >  文章  >  後端開發  >  如何在沒有精確匹配的情況下替換 Pandas Dataframe 的字串列中的字元?

如何在沒有精確匹配的情況下替換 Pandas Dataframe 的字串列中的字元?

Susan Sarandon
Susan Sarandon原創
2024-10-28 14:30:02397瀏覽

How to Replace Characters in a String Column of a Pandas Dataframe without Exact Matches?

複製 Pandas Dataframe 字串列中的文字

在資料操作任務中,通常需要取代字串列中的特定字元。考慮一個資料框,其中有一列包含“(2,30)”等字串值,我們希望用破折號(“-”)替換逗號(“,”)。

為了解決這個問題,您可能會嘗試使用 Pandas 的帶有 inplace=True 的替換方法來直接修改列。但是,如果這種方法不起作用,則值得評估您的程式碼並了解替換的限制。

Pandas 文件指定替換需要指定字串的精確匹配才能執行替換。在您的情況下,列中的值與您嘗試替換的字串不完全匹配。

相反,我們可以利用向量化str 方法來有效地執行此轉換:

<code class="python">df['range'] = df['range'].str.replace(',','-')</code>

這種方法利用str 方法將列中的每個字串視為字串對象,使我們能夠執行各種字串操作操作。透過連結替換方法,我們可以指定用破折號替換逗號。

為了說明這一點,讓我們考慮一個範例:

<code class="python">df = pd.DataFrame({'range':['(2,30)', '(50,290)', '(400,1000)']})

df['range'] = df['range'].str.replace(',','-')

print(df)</code>

輸出:

      range
0    (2-30)
1  (50-290)
2 (400-1000)

如您所見,原列中的逗號已成功替換為破折號。

以上是如何在沒有精確匹配的情況下替換 Pandas Dataframe 的字串列中的字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn