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

2024-09-21 01:00:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pandas.read_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文件包含数千列和行,这需要花费大量时间


Tags: 文件csvto数据字符串示例pandasread

热门问题