【问题标题】:Importing .csv with data type as float and index type as string导入数据类型为浮点数和索引类型为字符串的 .csv
【发布时间】:2020-07-12 13:17:22
【问题描述】:

我正在使用 pandas.read_csv() 从多个 csv 文件中导入数据。每个文件中的行/列数是未知的。数据应为floatn.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 文件包含数千列和行,因此需要大量时间。

【问题讨论】:

标签: python pandas csv dtype


【解决方案1】:

您可以导入数据并添加带有.reset.index() 的索引列和浮点数。我希望这与你一起运行

【讨论】:

  • 我试过这样做,但不幸的是我仍然面临同样的问题,因为带有字符串的列成为数据框的一部分
猜你喜欢
  • 2011-03-10
  • 2020-09-17
  • 2012-08-28
  • 1970-01-01
  • 1970-01-01
  • 2021-02-07
  • 2021-06-26
  • 2014-07-31
  • 1970-01-01
相关资源
最近更新 更多