我正在寻找将文件保存到数组中的最简单方法。为此,我想使用numpy.savetxt,但问题是我的数组由n列组成(数字取决于我要做的),它包含复杂元素(x + yj)。我知道如何保存它,如果有一列和真正的元素,但我不知道该怎么做。用python写入文件
有没有人有想法?
我正在寻找将文件保存到数组中的最简单方法。为此,我想使用numpy.savetxt,但问题是我的数组由n列组成(数字取决于我要做的),它包含复杂元素(x + yj)。我知道如何保存它,如果有一列和真正的元素,但我不知道该怎么做。用python写入文件
有没有人有想法?
你可以pickle他们:
>>> A = np.array([[1,2],[3,4+2j]])
>>> pickle.dump(A, open("out.pkl", "wb"))
>>> pickle.load(open("out.pkl", "rb"))
array([[ 1.+0.j, 2.+0.j],
[ 3.+0.j, 4.+2.j]])
然而,这将是更好地使用numpy.save
和numpy.load
,他们为此设计的,并会占用更少的空间。
>>> np.save("out.npy", A)
>>> np.load("out.npy")
array([[ 1.+0.j, 2.+0.j],
[ 3.+0.j, 4.+2.j]])
我已经试过这个,答案是'铸造复杂的值真正放弃虚部fh.write(asbytes(format%tuple(row)+ newline))'' – PanAkry 2012-03-14 18:16:55
'numpy.savetxt'给出输出,而不是'numpy。 save'。 'savetxt'函数产生人类可读的输出,并且它不起作用。 – strcat 2012-03-14 18:18:13
numpy.save上的+1,如果你不打算在Python之外使用它。 – rdchambers 2012-03-14 19:40:08
对不起,我不能发表评论,但你看着http://stackoverflow.com/questions/3685265/how-to-write-a-multidimensional-array-to-a-text-file 。耶实际上作为评论 – Snesticle 2012-03-14 18:10:38
我红了,但没有一个非常简短的答案。事实上,我想写'numpy.savetext('myfile',myarray,fmt = ???)''。 – PanAkry 2012-03-14 18:20:06
你试过我给的例子吗?我在翻译中跑了他们,所以我知道他们工作。输出是否必须是人类可读的? – strcat 2012-03-14 18:22:04