【问题标题】:np.save is converting floats to weird charactersnp.save 正在将浮点数转换为奇怪的字符
【发布时间】:2019-09-26 03:45:50
【问题描述】:

我正在尝试将结果附加到正在进行的 csv 文件中。每个结果都以 nd.array 的形式出现:

[IN]:  Print(savearray)
[OUT]: [[ 0.55219001  0.39838119]]

最初我尝试过

np.savetxt('flux_ratios.csv', savearray,delimiter=",")

但是每次我保存时都会覆盖旧数据,所以我尝试像这样附加数据:

f = open('flux_ratios.csv', 'ab')
np.save(f, 'a',savearray)
f.close()

这(在某种意义上)是附加的,但是它将数字数据保存为奇怪的字符,如下图所示:

我不知道为什么或如何发生这种情况,因此非常感谢任何帮助!

【问题讨论】:

    标签: python-3.x numpy append


    【解决方案1】:

    首先,np.save 不会写文本,而np.savetxt 会。您正在尝试将二进制与文本结合起来,这就是为什么您在尝试读取文件时会得到奇怪的字符。

    您可以将np.save(f, 'a', savearray) 更改为np.savetxt(f, savearray, delimiter=',')

    否则您也可以考虑在附加模式下使用pandas.to_csv

    【讨论】:

      猜你喜欢
      • 2013-03-22
      • 2011-11-25
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      相关资源
      最近更新 更多