Requisitos previos: numpy.savetxt() , numpy.loadtxt()
Numpy.savetxt() es un método en python en la biblioteca numpy para guardar una array 1D y 2D en un archivo.
Sintaxis: numpy.savetxt(fname, X, fmt=’%.18e’, delimitador=’ ‘, nueva línea=’\n’, encabezado=”, pie de página=”, comentarios=’# ‘, codificación=Ninguno)
numpy.loadtxt() es un método en python en la biblioteca numpy para cargar datos desde un archivo de texto para una lectura más rápida.
Sintaxis: numpy.loadtxt(fname, dtype=’float’, comments=’#’, delimitador=Ninguno, convertidores=Ninguno, skiprows=0, usecols=Ninguno, unpack=False, ndmin=0)
Guardar y cargar arreglos 3D
Como se discutió anteriormente, solo podemos usar una array 1D o 2D en numpy. savetxt(), y si usamos una array de más dimensiones arrojará un ValueError: array 1D o 2D esperada, obtuvo una array 3D en su lugar. Por lo tanto, necesitamos encontrar una manera de guardar y recuperar, al menos para arreglos 3D, así es como puedes hacer esto usando algunos trucos de Python.
- Paso 1: remodele la array 3D a una array 2D.
- Paso 2: inserte esta array en el archivo
- Paso 3: Cargue los datos del archivo para mostrar
- Paso 4: vuelva a convertir a la array con forma original
Ejemplo:
Python3
import numpy as gfg arr = gfg.random.rand(5, 4, 3) # reshaping the array from 3D # matrice to 2D matrice. arr_reshaped = arr.reshape(arr.shape[0], -1) # saving reshaped array to file. gfg.savetxt("geekfile.txt", arr_reshaped) # retrieving data from file. loaded_arr = gfg.loadtxt("geekfile.txt") # This loadedArr is a 2D array, therefore # we need to convert it to the original # array shape.reshaping to get original # matrice with original shape. load_original_arr = loaded_arr.reshape( loaded_arr.shape[0], loaded_arr.shape[1] // arr.shape[2], arr.shape[2]) # check the shapes: print("shape of arr: ", arr.shape) print("shape of load_original_arr: ", load_original_arr.shape) # check if both arrays are same or not: if (load_original_arr == arr).all(): print("Yes, both the arrays are same") else: print("No, both the arrays are not same")
Producción:
shape of arr: (5, 4, 3) shape of load_original_arr: (5, 4, 3) Yes, both the arrays are same
Publicación traducida automáticamente
Artículo escrito por chetansinha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA