Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入.csv,数据类型为float,索引类型为string_Python_Pandas_Csv_Dtype - Fatal编程技术网

Python 导入.csv,数据类型为float,索引类型为string

Python 导入.csv,数据类型为float,索引类型为string,python,pandas,csv,dtype,Python,Pandas,Csv,Dtype,我正在使用pandas.read\u csv()从几个csv文件导入数据。每个文件中的行/列数未知。数据应该是float(将n.a.替换为np.NaN),但索引包含字符串。请参见以下.csv文件中的数据示例: X Y Z A 3.1 2.1 4.0 B 2.1 8.0 0.0 C 5.4 7.1 n.a. D 7.6 5.0 5.5 我正在使用下面的代码: dataset = pd.read_csv(file_name

我正在使用
pandas.read\u csv()
从几个csv文件导入数据。每个文件中的行/列数未知。数据应该是
float
(将
n.a.
替换为
np.NaN
),但索引包含字符串。请参见以下.csv文件中的数据示例:

     X     Y     Z 
A   3.1   2.1   4.0
B   2.1   8.0   0.0
C   5.4   7.1   n.a.
D   7.6   5.0   5.5
我正在使用下面的代码:

dataset = pd.read_csv(file_name + '.csv', header=0, index_col=0, na_values=["n.a."], \
encoding="ISO-8859-1", thousands=",", dtype=float)
但是,它返回以下ValueError:

ValueError: could not convert string to float: 'A'.
原因是索引包含字符串。有没有办法在不转换索引本身的情况下设置dtype=float


另外,我尝试将csv文件读取为dtype=string,然后使用pandas.to_numeric()将每个列转换为。但是,由于某些.csv文件包含数千列和行,这需要花费大量时间。

您可以导入数据并添加带有浮动的索引列。我希望这能与您一起运行

这有帮助吗?您可以使用转换器读取csv,然后将第一列设置为索引。您可以尝试设置错误\u bad\u lines=False,这将删除坏行!我尝试过这样做,但不幸的是,我仍然面临同样的问题,因为带有字符串的列成为数据帧的一部分