Python 保存一个numpy矩阵
我有一个3D阵列,我想获得一个沿X-Y方向的2D图像,每个点的最大值为z,并将其保存为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,:]) 问题是保存得到的矩
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().