如何替換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中文網其他相關文章!