English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
NumPy introduit un format de fichier simple pour les objets ndarray : npy.
Les fichiers npy sont utilisés pour stocker les données nécessaires pour reconstruire ndarray, les graphiques, dtype et d'autres informations.
Les fonctions IO couramment utilisées incluent :
Les fonctions load() et save() sont les deux principales fonctions pour lire et écrire des données d'arrays dans les fichiers. Par défaut, les tableaux sont stockés sous forme de binaire non compressé dans un fichier avec l'extension .npy. La fonction savze() est utilisée pour écrire plusieurs tableaux dans un fichier. Par défaut, les tableaux sont stockés sous forme de binaire non compressé dans un fichier avec l'extension .npz. Les fonctions loadtxt() et savetxt() traitent les fichiers de texte normaux (.txt, etc.) 参数说明: We can view the contents of the file: It can be seen that the file is garbled because it is the data after the binary format used by Numpy. We can use the load() function to read the data and display it normally: Le résultat de la sortie est : numpy.savez() function saves multiple arrays to files with the npz extension. 参数说明: Le résultat de la sortie est : La fonction savetxt() stocke les données dans un format de fichier texte simple, et l'utilisation correspondante est la fonction loadtxt() pour obtenir des données. Le paramètre delimiter peut spécifier divers séparateurs, des fonctions de convertisseurs de colonnes spécifiques, le nombre de lignes à sauter, etc. Le résultat de la sortie est : Utilisation du paramètre delimiter :numpy.save()
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
import numpy as np
a = np.array([1,2,3,4,5]
# Save to test.npy file
np.save('test.npy',a)
# Save to test1.npy file, if the file path does not end with the extension .npy, the extension will be automatically added
np.save('test1.npy',a)
$ cat test.npy
?NUMPYv{'descr': '<i8', 'fortran_order': False, 'shape': (5,),}
$ cat test1.npy
?NUMPYv{'descr': '<i8', 'fortran_order': False, 'shape': (5,),}
import numpy as np
b = np.load('test.npy')
print(b)
[1 2 3 4 5]
np.savez
numpy.savez(file, *args, **kwds)
import numpy as np
a = np.array([1,2,3],[4,5,6])
b = np.arange(0, 1.0, 0.1)
c = np.sin(b)
# c used keyword parameter sin_array
np.savez("w3codebox.npz", a, b, sin_array = c)
r = np.load("w3codebox.npz
print(r.files) # display the names of each array
print(r['arr_0']) # array a
print(r['arr_'])1']) # array b
print(r['sin_array']) # array c
['sin_array', 'arr_0', 'arr_']1']
[[1 2 3]
[4 5 6]]
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
[0. 0.09983342 0.19866933 0.29552021 0.38941834 0.47942554
0.56464247 0.64421769 0.71735609 0.78332691]
savetxt()
np.loadtxt(FILENAME, dtype=int, delimiter=' ')
np.savetxt(FILENAME, a, fmt="%d", delimiter=",")
import numpy as np
a = np.array([1,2,3,4,5]
np.savetxt('out.txt',a)
b = np.loadtxt('out.txt')
print(b)
[1. 2. 3. 4. 5.]
import numpy as np
a=np.arange(0,10,0.5).reshape(4,-1)
np.savetxt("out.txt",a,fmt="%d",delimiter=",") # 改为保存为整数,以逗号分隔
b = np.loadtxt("out.txt",delimiter=",") # load 时也要指定为逗号分隔
print(b)
[[0. 0. 1. 1. 2.]
[2. 3. 3. 4. 4.]
[5. 5. 6. 6. 7.]
[7. 8. 8. 9. 9.]]