Tomar cortes de columna del DataFrame en Pandas

Manav Narula 11 marzo 2021
  1. Use loc() para cortar las columnas en Pandas DataFrame
  2. Use iloc() para rebanar columnas en Pandas DataFrame
  3. Use redindex() para rebanar columnas en Pandas DataFrame
Tomar cortes de columna del DataFrame en Pandas

El corte de columnas en Pandas nos permite cortar el DataFrame en subconjuntos, lo que significa que crea un nuevo DataFrame de Pandas a partir del original con sólo las columnas necesarias. Trabajaremos con el siguiente dataframe como ejemplo de rebanado de columnas.

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.797321  0.468894  0.335781  0.956516
1  0.546303  0.567301  0.955228  0.557812
2  0.385315  0.706735  0.058784  0.578468
3  0.751037  0.248284  0.172229  0.493763

Use loc() para cortar las columnas en Pandas DataFrame

La biblioteca de Pandas nos proporciona más de un método para llevar a cabo el corte de la columna. El primero es usar la función loc().

La función loc() de Pandas nos permite acceder a los elementos de un dataframe usando nombres de columna o etiquetas de índice. La sintaxis para el rebanado de columnas usando loc():

dataframe.loc[:, [columns]]

Ejemplo:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.loc[:, "a":"c"]  # Returns a new dataframe with columns a,b and c
print(df1)

Resultado:

          a         b         c
0  0.344952  0.611792  0.213331
1  0.907322  0.992097  0.080447
2  0.471611  0.625846  0.348778
3  0.656921  0.999646  0.976743

Use iloc() para rebanar columnas en Pandas DataFrame

También podemos usar la función iloc() para acceder a los elementos de Dataframe usando el índice entero de filas y columnas. La sintaxis para el rebanado de columnas usando iloc():

dataframe.iloc[:, [column - index]]

Ejemplo:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.iloc[:, 0:2]  # Returns a new dataframe with first two columns
print(df1)

Resultado:

          a         b
0  0.034587  0.070249
1  0.648231  0.721517
2  0.485168  0.548045
3  0.377612  0.310408

Use redindex() para rebanar columnas en Pandas DataFrame

La función reindex() también puede utilizarse para alterar los índices Dataframe y puede usarse para cortar las columnas. La función reindex() puede tomar muchos argumentos, pero para el rebanado de columnas, sólo necesitaremos proporcionar a la función los nombres de las columnas.

La sintaxis para el rebanado de columnas usando reindex():

dataframe.reindex(columns=[column_names])

Ejemplo:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
# Returns a new dataframe with c and b columns
df1 = df.reindex(columns=["c", "b"])
print(df1)

Resultado:

          c         b
0  0.429790  0.962838
1  0.605381  0.463617
2  0.922489  0.733338
3  0.741352  0.118478
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