首頁  >  文章  >  後端開發  >  如何替換 Pandas DataFrame 字串列中的逗號?

如何替換 Pandas DataFrame 字串列中的逗號?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-30 16:37:26515瀏覽

How to Replace a Comma in a String Column of a Pandas DataFrame?

如何替換Pandas Dataframe 字串列中的文字

在Pandas 中,你可能會遇到需要修改內容的情況文字列,例如替換某個字元或字串。這可以使用強大的替換方法來實現。

您提到有一列包含括號內的數值,並用逗號分隔兩個數字。您的目標是用破折號替換逗號。但是,您目前使用 org_info_exc['range'].replace(',', '-', inplace=True) 的方法不起作用。

問題在於程式碼的語法。替換方法要求您指定要替換的確切字串或正規表示式。在您的情況下,逗號與整個值並不完全匹配。

要正確替換逗號,您應該使用以下方法:

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

這裡,我們使用向量化 str 方法,它允許我們對列中的每個元素套用字串轉換。替換函數有兩個參數:要替換的原始字串和要替換的新字串。

此程式碼使用正規表示式',' 來匹配逗號字符,無論其在字串中的位置如何.

編輯:

分析您最初的嘗試:

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

Pandas 文件中對此方法的描述指出,「str: string完全匹配的to_replace 將被值替換。」由於您列中的字串與逗號字元不完全匹配,因此不會發生替換。

相反,如果我們為逗號字元提供完全匹配,如下所示,則會發生替換:

<code class="python">df = pd.DataFrame({'range':['(2,30)',',']})
df['range'].replace(',','-', inplace=True)

df['range']

0    (2,30)
1         -
Name: range, dtype: object</code>

在此修改後的範例中,第二行包含逗號的精確匹配,並且發生替換。

以上是如何替換 Pandas DataFrame 字串列中的逗號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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