python - 导入数据类型为浮点数和索引类型为字符串的 .csv
问题描述
我正在使用 .csv 从多个 csv 文件中导入数据pandas.read_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 文件包含数千列和行,因此这需要大量时间。
解决方案
您可以导入数据并.reset.index()
使用浮点数添加索引列。我希望这与你一起运行
推荐阅读
- python - 找不到模型 odoo v8
- java - PagedList 在使用 Room 的 Android 应用程序中不断增长但从未缩小
- java - PDFBox与java并排合并2个pdf文件
- css - Bootstrap 在 Angular 6 中无法正常工作
- c++ - C++ - 是否可以让子类按值包含包含类?
- python - 如何使用eonet api使用python获取自然灾害图像
- c# - 尽管引用了 dll,但无法使用命名空间
- java - 双重没有从一个方法传递到另一个方法
- java - 我想根据我得到的毫秒时间来获得今天或昨天的一天
- javascript - 本地语言在 javascript 文件中的页面加载时转换为外来语言