Enregistrer un numpy matrice
J'ai un tableau 3D et j'aimerais obtenir une image 2D le long de X-Y avec la valeur maximale de z à chaque point et l'enregistrer dans un tableau 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,:])
Le problème consiste à enregistrer de la matrice. Je voudrais l'enregistrer avec numpy.sauver, mais je reçois toujours un tableau vide. Quelqu'un aurait-il des suggestions pour sauver correctement le tableau?
J'ai simplement utilisé num.enregistrer:
num.save('max', CXY[i,j])
- Tout d'abord, la matrice.max(axis=2) est-ce que vous faites dans les boucles for. Deuxièmement, vous devez nous montrer votre tentent de sauver les données, de sorte que nous pouvons vous dire pourquoi ça ne fonctionne pas.
- Là, vous voyez: vous devriez faire des économies
CXJ
, pasCXJ[i,j]
.
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous êtes à la recherche pour le numpy.savetxt qui enregistre dans un format lisible par l'homme à la place de la numpy.sauver ce qui sauve dans un format binaire.
Ce code enregistre la matrice d'abord comme un fichier binaire, puis en tant que fichier que vous pouvez ouvrir dans un éditeur de texte normal.
np.save
magasins des choses que pickle fichiers si pas les autres qui peuvent vous rendre très malheureux si vous allez à partir de Python 2 et Python 3 (voir les docs).