我使用 pandas tu 讀取帶有如下數字資料的 csv 填充:
-9999;-11,558;-0,692;0,005;0,001;-1
-9999;-3,32;1,054;5,317;0;-1
...
我使用這行代碼來匯入:
data = pd.read_csv(file, usecols = [0,1,2,3,4], sep = ";", header=None)
結果是我的所有資料框都被我轉換為字串 ex: '3,4' 的數字填充
我嘗試將 ,dtype=float 添加到我的 pd.read_csv 行,但出現此錯誤:
ValueError: could not convert string to float: '5,04'
!!???
uj5u.com熱心網友回復:
你應該寫5.04,小數點是必需的,如果它不在數字中,它將被視為一個tuple
uj5u.com熱心網友回復:
引數decimal=","并thousands="."在檔案中進行了描述。他們可以提供幫助
https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
data = pd.read_csv(file, usecols = [0,1,2,3,4],delimiter=";", decimal=",",thousands=".", header=None)
在https://stackoverflow.com/a/70748012/6889858中適當地解決了
uj5u.com熱心網友回復:
您的數字中的小數點是逗號。你應該decimal=','作為引數傳遞給pandas.read_csv().
從檔案:
小數字串,默認 '.'
Character to recognize as decimal point (e.g. use ‘,’ for European data).
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/417033.html
標籤:
上一篇:使用具有不同列順序的CSV加載RedshiftSpectrum外部表
下一篇:匹配2個CSV檔案(根據列)
