【问题标题】:numPy gives nan while reading a negative number from a filenumPy 在从文件中读取负数时给出 nan
【发布时间】:2018-09-09 06:13:05
【问题描述】:

我尝试读取存储在具有以下值的文本文件中的 3x3 矩阵的内容。

−30  10  20  
 10  40 −50  
 20 −50 −10

我使用numpy.genfromtxt 如下,但是当它给出nan 代替负数据值时。

data = np.genfromtxt('file.txt',delimiter=' ')
print(data)
print(type(data[0][0]))

但是负值的数据类型还是显示float64

我也尝试将值作为列表读取,然后转换为 numpy 数组,但这也没有用。

有没有其他方法可以从文件输入中读取负值作为 numpy 数组?

【问题讨论】:

  • 请不要在 SO 上发布代码、错误消息或数据等文本,始终将文本直接发布在 SO 上。

标签: python numpy genfromtxt


【解决方案1】:

试试这个代码:

data=pd.read_csv("data.txt",delimiter=",")
data = DataFrame(data)

【讨论】:

  • 我试过了,它有效,你给我-1甚至没有尝试?
  • 你不知道谁对你的答案投了反对票,所以不要责怪 OP。事实上,它不太可能是 OP。
  • 我猜你投了反对票,因为 OP 的输入数据不是 comma (,) 分隔的。
【解决方案2】:

您的文件中有 U+2212 减号字符,而不是人们通常认为的减号字符 U+002D HYPHEN-MINUS。 genfromtxt 不处理那个字符。在尝试解析数据之前,将减号字符替换为连字符减号。

【讨论】:

  • 成功了。感谢你的回答。我不知道这个约定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-26
  • 1970-01-01
  • 2013-07-23
相关资源
最近更新 更多