Pandas read_csv 将我的数字数据导入为 str?
Pandas read_csv import my numeric data as str?
我使用 pandas 你读取了一个 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'
!!??
你应该写5.04
,小数点是必须的,如果它不在数字中则算作tuple
您的数字中的小数点是逗号。您应该将 decimal=','
作为参数传递给 pandas.read_csv()
.
来自the docs:
decimalstr, default ‘.’
Character to recognize as decimal point (e.g. use ‘,’ for European data).
参数 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)
可能会在
中解决
我使用 pandas 你读取了一个 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'
!!??
你应该写5.04
,小数点是必须的,如果它不在数字中则算作tuple
您的数字中的小数点是逗号。您应该将 decimal=','
作为参数传递给 pandas.read_csv()
.
来自the docs:
decimalstr, default ‘.’
Character to recognize as decimal point (e.g. use ‘,’ for European data).
参数 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)
可能会在