En este artículo, discutiremos cómo convertir una array 1D de tuplas en una array numpy.
Ejemplo :
Entrada : [(1,2,3),(‘Hola’,’Hola’,’Hola’)]
Salida : [[‘1’ ‘2’ ‘3’] [‘Hola’ ‘Hola’ ‘Hola’]] #NDArray
Método 1: usar el mapa
El mapa es una función que se utiliza para ejecutar una función para cada elemento en una array iterable, es decir.
Ejemplo:
Aquí, primero estamos importando Numpy y definiendo el 1d Array of Tuples. Esta array contiene una array 0D, es decir, las tuplas que usan la función de mapa, revisamos cada elemento de la array y los convertimos en un NDArray. El objeto del mapa se convierte en una array de lista y luego en un NDArray y la array es impreso más al final, estamos comprobando esa dimensión del Array resultante usando la propiedad ndim.
Python3
# importing Numpy import numpy as np # 1d Array of Tuple arr = [(1, 2, 3), ('Hi', 'Hello', 'Hey')] x = map(np.array, arr) # Changing map object to a list, then # to an NDarray x = np.array(list(x)) print(x) # Checking the Dimension of the Resulting # NDArray print(x.ndim)
Producción:
[['1' '2' '3'] ['Hi' 'Hello' 'Hey']] 2
Método 2: el método ingenuo
Este es un método sin usar el mapa o cualquier otra función, solo bucles básicos.
Ejemplo:
Aquí, estamos definiendo el 1d Array of Tuples. Esta array contiene arrays 0D, es decir, las tuplas y luego define una array vacía. Repetimos más a través de cada elemento en ‘arr’ y luego definimos otra array vacía para los elementos en cada tupla. También iteramos a través de cada elemento en ‘arrs’, es decir, las tuplas. . Agregar cada elemento de la tupla en la array ‘elementos’. Agregar la array ‘elementos’ a la array ‘x’.
Python3
import numpy as np arr = [(1, 2, 3), ('Hi', 'Hello', 'Hey')] x = [] for arrs in arr: items = [] for item in arrs: items.append(item) x.append(items) x = np.array(x) print(x) print(x.ndim)
Producción:
[[‘1’ ‘2’ ‘3’] [‘Hola’ ‘Hola’ ‘Hola’]]
La dimensión es 2
Publicación traducida automáticamente
Artículo escrito por indorexian y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA