En esta ocasión vamos a ver los pasos para realizar una operación que posiblemente debamos realizar de forma habitual: convertir un objeto de NumPy en una lista de Python. Pudiendo exportar así los datos para usar en funciones que no pueden trabajar directamente con objetos de NumPy. Siendo el complemento a la creación de arrays en base a listas o tuplas. La conversión se realizará habitualmente mediante el método tolist() presente en los objetos de NumPy.
En todos los matrices y vectores de NumPy existe el método tolist() que devuelve el contenido del objeto en una lista de Python. Un método que no tiene opciones, por lo que es bastante fácil de usar. Así, para conseguir la lista equivalente a un vector de NumPy solamente es necesario realizar el siguiente proceso.
import numpy as np arr = np.array([1, 2, 3]) arr.tolist()
[1, 2, 3]
Con el que se obtiene la lista deseada.
El método tolist() también se puede utilizar cuando el objeto contiene una matriz. A diferencia del caso anterior el resultado no es una lista de número, sino que una lista de listas. Al igual que en el caso anterior solamente se tiene que llamar al método para obtener el resultado.
mat = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8 ,9]])
mat.tolist() [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Cuando el contenido del objeto NumPy es una matriz puede que no queramos obtener una lista de listas, sino que una lista con los valores. Para solucionar este problema se puede utilizar el método flatten() mediante el cual se puede transforma una objeto NumPy 2D en uno 1D, es decir, transformar una matriz en un vector. Una vez obtenido el vector, solamente se tendría que llamar al método tolist() para obtener la lista deseada. Operación que se puede concatenar en una línea.
mat.flatten().tolist()
[1, 2, 3, 4, 5, 6, 7, 8, 9]
En esta ocasión hemos visto como se puede usar el método tolist() para transformar un objeto de NumPy en una lista de Python. Operación que posiblemente debamos realizar de forma habitual al trabajar con NumPy.
expresslanets es la plantilla de API REST con Express y TypeScript que empezó como una…
En el artículo del Dashboard vimos que Pareto/NBD aparecía junto a BG/NBD con un ajuste…
Durante años, CommonJS (require/module.exports) ha sido la forma por defecto de organizar módulos en Node.js,…
Cuando usas k-means tienes que decidir algo incómodo de entrada: cuántos grupos, , vas a…
La estadística no suele fallar en los cálculos: falla en la interpretación. El test está…
Los artículos anteriores de esta serie cubrieron cuatro formas de mirar el valor del cliente:…
This website uses cookies.