numpy array2string 应用于巨大的数组,跳过中心值,(...在中间)

问题描述 投票:0回答:2

我有大小为 (3, 3, 19, 19) 的数组,我应用它

flatten
来获取大小为 3249 的数组。

我必须将这些值与其他一些数据一起写入文件,因此我按照以下步骤获取字符串中的数组。

np.array2string(arr.flatten(), separator=', ', suppress_small=False)

但是当我检查写入后的文件内容时, 我注意到数组中间有

,... ,
如下

[ 0.09720755, -0.1221265 ,  0.08671697, ...,  0.01460444,  0.02018792,
  0.11455765]

如何获取包含所有元素的数组字符串,以便我可以将所有数据获取到文件中?

python arrays string numpy writefile
2个回答
5
投票

据我了解

array2string
,它只是为了返回数组的“漂亮”字符串表示形式。

numpy.ndarray.tofile
可能是适合您的目的的更好选择 - https://docs.scipy.org/doc/numpy/reference/ generated/numpy.ndarray.tofile.html。它应该将数组的完整内容写入给定文件。

with open("test.bin", "wb") as f:
    arr.flatten().tofile(f)

你当然可以用

numpy.fromfile
读回来 - https://docs.scipy.org/doc/numpy/reference/ generated/numpy.fromfile.html.

with open("test.bin", "rb") as f:
    arr = numpy.fromfile(f)

0
投票

使用此代码

numpy.set_printoptions(np.inf)

© www.soinside.com 2019 - 2024. All rights reserved.