Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 保存一个numpy矩阵_Python_Arrays_Numpy_Matrix - Fatal编程技术网

Python 保存一个numpy矩阵

Python 保存一个numpy矩阵,python,arrays,numpy,matrix,Python,Arrays,Numpy,Matrix,我有一个3D阵列,我想获得一个沿X-Y方向的2D图像,每个点的最大值为z,并将其保存为numpy阵列 import numpy as num matrix=num.load('3d') nx,ny,nz=num.shape(matrix) CXY=num.zeros([ny, nx]) for i in range(ny): for j in range(nx): CXY[i,j]=num.max(matrix[j,i,:]) 问题是保存得到的矩

我有一个3D阵列,我想获得一个沿X-Y方向的2D图像,每个点的最大值为z,并将其保存为numpy阵列

import numpy as num
matrix=num.load('3d')
nx,ny,nz=num.shape(matrix)
CXY=num.zeros([ny, nx])
    for i in range(ny):
        for j in range(nx):
            CXY[i,j]=num.max(matrix[j,i,:])
问题是保存得到的矩阵。我想用numpy.save保存它,但我总是得到一个空数组。是否有人建议正确保存获取的数组

我刚刚使用了num.save:


num.save('max',CXY[i,j])

我想您是在寻找以可读格式保存的numpy.savetxt,而不是以二进制格式保存的numpy.save

import numpy as np
matrix=np.random.random((10,10,42))
nx,ny,nz=np.shape(matrix)
CXY=np.zeros([ny, nx])
for i in range(ny):
    for j in range(nx):
        CXY[i,j]=np.max(matrix[j,i,:])

#Binary data
np.save('maximums.npy', CXY)

#Human readable data
np.savetxt('maximums.txt', CXY)

此代码首先将数组保存为二进制文件,然后保存为可在常规文本编辑器中打开的文件。

首先,matrix.max(axis=2)执行for循环中的操作。第二,您应该向我们展示您保存数据的尝试,这样我们就可以告诉您为什么它不起作用。您可以看到:您应该保存
CXJ
,而不是
CXJ[i,j]
。值得一提的是
np.save
将东西存储为pickle文件(如果没有其他指定),如果从Python 2升级到Python 3().