Seleccionar múltiples columnas en Pandas Dataframe

Manav Narula 30 enero 2023
  1. Usando la sintaxis __getitem__ ([]) para seleccionar múltiples columnas
  2. Usando los métodos iloc() y loc() para seleccionar múltiples columnas en Pandas
Seleccionar múltiples columnas en Pandas Dataframe

Podemos enfrentarnos a problemas al extraer datos de múltiples columnas de un DataFrame de Pandas, principalmente porque tratan el DataFrame como un array bidimensional. Para seleccionar múltiples columnas de un DataFrame, podemos utilizar el método básico de indexación pasando la lista de nombres de columna a la sintaxis getitem ([]), o los métodos iloc() y loc() proporcionados por la biblioteca de Pandas. Para este tutorial, seleccionaremos múltiples columnas del siguiente DataFrame.

Ejemplo de DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])

print(df)

Resultado:

          a         b         c         d
0  0.255086  0.282203  0.342223  0.263599
1  0.744271  0.591687  0.861554  0.871859
2  0.420066  0.713664  0.770193  0.207427
3  0.014447  0.352515  0.535801  0.119759

Usando la sintaxis __getitem__ ([]) para seleccionar múltiples columnas

Al almacenar los nombres de las columnas a extraer en una lista y luego pasarla al [], podemos seleccionar múltiples columnas del DataFrame. El siguiente código explicará cómo podemos seleccionar las columnas a y c del DataFrame previamente mostrado.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])

print(df[["a", "c"]])

Resultado:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Usando los métodos iloc() y loc() para seleccionar múltiples columnas en Pandas

También podemos usar los métodos iloc() y loc() para seleccionar múltiples columnas.

Cuando queramos usar los índices de las columnas para extraerlas, podemos usar iloc() como se muestra en el siguiente ejemplo:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
print(df.iloc[:, [0, 2]])

Resultado:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

De manera similar, podemos usar loc() cuando queramos seleccionar columnas usando sus nombres como se muestra a continuación:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])

print(df.loc[:, ["a", "c"]])

Resultado:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Pandas DataFrame