Comment enregistrer et lire des tableaux Numpy

php中世界最好的语言
Libérer: 2018-04-09 15:53:22
original
3210 Les gens l'ont consulté

Cette fois je vais vous montrer comment sauvegarder et lire des tableaux Numpy, quelles sont les précautions pour sauvegarder et lire des tableaux Numpy, ce qui suit est un cas pratique, prenons un regarde une fois.

1. Les tableaux sont enregistrés au format binaire

np.save et np.load sont les deux principaux moyens de lire et d'écrire une matrice de disques. dataFonction. Par défaut, le tableau est enregistré dans un fichier avec l'extension npy au format binaire brut non compressé. En prenant le tableau a comme exemple

np.save("filename.npy",a)
b = np.load("filename.npy")
Copier après la connexion

En utilisant cette méthode, le nom du suffixe du fichier enregistré sera définitivement défini. . Pour .npy

2. Accédez aux fichiers texte

à l'aide de np.savetxt et np.loadtxt ne peuvent lire et écrire qu'en 1 dimension. Tableau 2 dimensions

np.savetxt :Écrivez le tableau dans un fichier texte séparé par un certain délimiteur

np.loadtxt :Spécifiez un certain délimiteur, lisez le fichier texte dans un tableau

np.savetxt("filename.txt",a)
b = numpy.loadtxt("filename.txt", delimiter=',')
Copier après la connexion

3. Enregistrez-le sous forme de fichier binaire

Utilisez la fonction tofile de le tableau Vous pouvez facilement écrire les données du tableau dans un fichier au format binaire

a.tofile("filename.bin")
b = np.fromfile("filename.bin",dtype = **)
Copier après la connexion

Cette méthode présente plusieurs différences par rapport à np.save :

La fonction tofile ne peut enregistrer les tableaux que sous forme de fichiers binaires, et il n'y a aucune exigence fixe pour l'extension de fichier. Cette méthode de sauvegarde a des exigences pour la lecture des données. np.fromfile doit spécifier manuellement le type des données lues. Si le format spécifié n'est pas cohérent avec celui lors de la sauvegarde, les mauvaises données seront lues. La fonction

tofile ne peut pas enregistrer les informations de ligne et de colonne des données actuelles, que l'ordre du tableau soit au format langage C ou au format du langage Fortran, le langage C. Le format est utilisé pour la sortie. Par conséquent, les données lues à l'aide de np.fromfile sont un tableau unidimensionnel , et reshape doit être utilisé pour spécifier les informations de ligne et de colonne.

Par exemple, comme le montre l'exemple suivant :

>>> a = np.arange(0,12)
>>> a.shape = 3,4
>>> a
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]])
>>> a.tofile("a.bin")
>>> b = np.fromfile("a.bin", dtype=np.float) # 按照float类型读入数据
>>> b # 读入的数据是错误的
array([ 2.12199579e-314,  6.36598737e-314,  1.06099790e-313,
     1.48539705e-313,  1.90979621e-313,  2.33419537e-313])
>>> a.dtype # 查看a的dtype
dtype('int32')
>>> b = np.fromfile("a.bin", dtype=np.int32) # 按照int32类型读入数据
>>> b # 数据是一维的
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
>>> b.shape = 3, 4 # 按照a的shape修改b的shape
>>> b
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]])
Copier après la connexion

Je crois que vous maîtrisez la méthode après avoir lu le cas dans ce article. Veuillez prêter attention aux choses plus excitantes. D'autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Comment Python Numpy exploite les tableaux et les matrices

Python implémente la méthode de résolution du plus grand diviseur commun

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!