首頁 >後端開發 >Python教學 >如何將 Pandas DataFrame 中的逗號分隔數字字串轉換為浮點數?

如何將 Pandas DataFrame 中的逗號分隔數字字串轉換為浮點數?

Linda Hamilton
Linda Hamilton原創
2024-11-13 09:03:02419瀏覽

How to Convert Comma-Separated Number Strings to Floats in a Pandas DataFrame?

將逗號分隔的數字字串轉換為Pandas DataFrame 中的浮點數

使用Pandas DataFrame 時,經常會遇到儲存為以下形式的數字列帶有千位分隔符號的字串。要對這些值進行計算或比較,需要將它們轉換為浮點數。但是,轉換這些值的過程可能會遇到錯誤。

錯誤 #1:直接在 DataFrame 上使用 apply

將 apply 函數套用到整個 DataFrame 時,引發型別錯誤。發生這種情況是因為 apply 需要單一參數,但 DataFrame 包含多個欄位。

錯誤#2:在DataFrame 的子集上使用apply

將apply 套用於a DataFrame 的子集,例如df[0:1],會引發ValueError。此錯誤表示子集中的第一個元素無法轉換為浮點數。

成功將逗號分隔的數字字串轉換為Pandas DataFrame 中的浮點數,可以使用兩種方法:

方法1:讀取時使用數千個參數

如果從CSV 檔案讀取DataFrame,則read_csv 函數可用於指定千位元分隔符號。此方法通常比作為單獨步驟執行轉換更有效。

方法2:設定區域設定並使用applymap

直接在DataFrame 內轉換值,需要執行以下步驟:

  1. 匯入locale和atof 模組。
  2. 將 locale 設為適當的值,例如 locale.setlocale(locale.LC_NUMERIC, '') .
  3. 將 applymap 函數套用到 DataFrame,使用 atof 函數作為轉換方法。

以上是如何將 Pandas DataFrame 中的逗號分隔數字字串轉換為浮點數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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