HOWTO · Pandas
Seleccionar múltiples columnas en Pandas Dataframe
Este tutorial demuestra cómo seleccionar múltiples columnas de Dataframe utilizando la sintaxis de la getiente(los []'s), iloc(), y loc()
En esta página
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