English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
NumPy introduce un formato de archivo simple para objetos ndarray: npy.
Los archivos npy se utilizan para almacenar los datos necesarios para reconstruir ndarray, gráficos, dtype y otra información.
Las funciones de E/S comunes incluyen:
Las funciones load() y save() son las dos principales funciones para leer y escribir datos de arreglos de archivos, por defecto, los arreglos se guardan en un formato binario original no comprimido en archivos con extensión .npy. La función savetxt() se utiliza para escribir varios arreglos en un archivo, por defecto, los arreglos se guardan en un formato binario original no comprimido en archivos con extensión .npz. Las funciones loadtxt() y savetxt() procesan archivos de texto normales (.txt, etc.) 参数说明: 我们可以查看文件内容: 可以看出文件是乱码的,因为它们是 Numpy 专用的二进制格式后的数据。 我们可以使用 load() 函数来读取数据就可以正常显示了: el resultado de salida es: numpy.savez() 函数将多个数组保存到以 npz 为扩展名的文件中。 参数说明: el resultado de salida es: La función savetxt() almacena los datos en un formato de archivo de texto simple, y la función correspondiente loadtxt() se utiliza para obtener los datos. el parámetro delimiter puede especificar varios delimitadores, funciones de conversión para columnas específicas, número de filas que se deben omitir, etc. el resultado de salida es: 使用 parámetro 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]
# 保存到 test.npy 文件上
np.save('test.npy',a)
# 保存到 test1.npy 文件上,如果文件路径末尾没有扩展名 .npy,该扩展名会被自动加上
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 使用了关键字参数 sin_array
np.savez("w3codebox.npz", a, b, sin_array = c)
r = np.load("w3codebox.npz)
print(r.files) # 查看各个数组名称
print(r['arr_0']) # 数组 a
print(r['arr_'])1']) # 数组 b
print(r['sin_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.]]