¿Cómo extraer una columna en particular de una array 1D de tuplas?

En este artículo, cubriremos cómo extraer una columna en particular de una array 1-D de tuplas en python .

Ejemplo 

Entrada:   [(18.18,2.27,3.23),(36.43,34.24,6.6),(5.25,6.16,7.7),(7.37,28.8,8.9)]

Salida: [3.23, 6.6, 7.7, 8.9]

Explicación: extrayendo la tercera columna de la array 1D de tuplas.

Método 1: Usando Slice

Como primer paso, primero definamos una array 1D de tuplas con cada tupla que tiene 3 elementos, si consideramos estos 3 elementos como 3 columnas, podemos usar la técnica de corte para extraer una columna en particular.

Python3

import numpy as np
 
# define a 1d array of tuples
arr = np.array([(18.18, 2.27, 3.23), (36.43, 34.24, 6.6),
                (5.25, 6.16, 7.7), (7.37, 28.8, 8.9)])
 
# slice the array by passing the
# column number
arr[:, 2]

Producción:

array([3.23, 6.6 , 7.7 , 8.9 ])

Método 2: Usando la función lambda

En este ejemplo, estamos tomando un marco de datos de pandas y una de las columnas es una array de tuplas, podemos dividir esa columna en particular y aplicar una función lambda para extraer una columna en particular de la tupla de una array.

Python3

import numpy as np
import pandas as pd
 
data = pd.DataFrame({'approval': [10, 20, 30, 40, 50],
                     'temperature': [(18.18, 2.27, 3.23),
                                     (36.43, 34.24, 6.6),
                                     (5.25, 6.16, 7.7),
                                     (7.37, 28.8, 8.9),
                                     (12, 23, 3)]})
 
res = data['temperature'].apply(lambda x: x[2]).values
 
print(data)
print(res)

Producción:

   approval          temperature
0        10  (18.18, 2.27, 3.23)
1        20  (36.43, 34.24, 6.6)
2        30    (5.25, 6.16, 7.7)
3        40    (7.37, 28.8, 8.9)
4        50          (12, 23, 3

The output for extracting 3rd column from the array of tuples
[3.23 6.6  7.7  8.9  3.  ]

Publicación traducida automáticamente

Artículo escrito por jssuriyakumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *