首页 > 解决方案 > np.save 正在将浮点数转换为奇怪的字符

问题描述

我正在尝试将结果附加到正在进行的 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.xnumpyappend

解决方案


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

你可以np.save(f, 'a', savearray)改成np.savetxt(f, savearray, delimiter=',').

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


推荐阅读