【问题标题】:Loading a numpy array that has been saved using savetxt with a format option使用带有格式选项的 savetxt 加载已保存的 numpy 数组
【发布时间】:2018-09-03 08:40:24
【问题描述】:

我已经看到如何使用格式选项 (here) 保存 numpy 数组。我像这样保存了我的 numpy 数组:

np.savetxt('my_file.txt', results, fmt='%1.4f', delimiter=",")

看起来不错:

0.0050,0.0100,0.0150,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0100,0.0150,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0100,0.0200,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0100,0.0150,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0100,0.0100,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0050,0.0100,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0100,0.0150,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0100,0.0100,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0100,0.0100,0.0000,0.0000,0.0050,0.0000,0.0150
0.0050,0.0100,0.0100,0.0000,0.0000,0.0050,0.0000,0.0150

现在当我尝试加载它时出现错误:

pl_sioux = np.loadtxt("my_file.txt")

Traceback (most recent call last):
  File "rfresults.py", line 3, in <module>
    pl_sioux = np.loadtxt("rf_pl_Sioux.txt") #, dtype='f')
  File "/user/pkgs/anaconda2/lib/python2.7/site-packages/numpy/lib/npyio.py", line 1092, in loadtxt
    for x in read_data(_loadtxt_chunksize):
  File "/user/pkgs/anaconda2/lib/python2.7/site-packages/numpy/lib/npyio.py", line 1019, in read_data
    items = [conv(val) for (conv, val) in zip(converters, vals)]
  File "/user/pkgs/anaconda2/lib/python2.7/site-packages/numpy/lib/npyio.py", line 738, in floatconv
    return float(x)
ValueError: invalid literal for float(): 0.0050,0.0100,0.0150,0.0000,0.0000,0.0050,0.0000,0.0150

我试过这个,计算 fmt 选项:

loaded_file = np.loadtxt("my_file.txt", dtype='f')

但遇到了同样的错误。

如何加载我的 numpy 数组?

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    默认分隔符值为空格。您必须提供实际分隔符的值:

    np.loadtxt("my_file.txt", delimiter=",")
    

    【讨论】:

      猜你喜欢
      • 2014-04-28
      • 2015-07-31
      • 1970-01-01
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多