Analicemos cómo soltar una o varias columnas en Pandas Dataframe . Eliminar una columna de un DataFrame de Pandas o Eliminar una o más de una columna de un DataFrame se puede lograr de varias maneras.
Cree un marco de datos simple con un diccionario de listas, digamos que los nombres de las columnas son A, B, C, D, E. En este artículo, cubriremos 6 métodos diferentes para eliminar algunas columnas de Pandas DataFrame.
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) df
Producción:
Método 1: suelte columnas de un marco de datos utilizando el método drop() .
Ejemplo 1: eliminar columnas individuales específicas.
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove column name 'A' df.drop(['A'], axis=1)
Producción:
Ejemplo 2: eliminar varias columnas específicas.
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove two columns name is 'C' and 'D' df.drop(['C', 'D'], axis=1) # df.drop(columns =['C', 'D'])
Producción:
Ejemplo 3: eliminar columnas según el índice de columna.
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove three columns as index base df.drop(df.columns[[0, 4, 2]], axis=1, inplace=True) df
Producción:
Método 2: suelte columnas de un marco de datos utilizando el método iloc[] y drop().
Eliminar todas las columnas entre una columna específica y otra columna.
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column index 1 to 3 df.drop(df.iloc[:, 1:3], inplace=True, axis=1) df
Producción:
Método 3: suelte columnas de un marco de datos usando el método ix() y drop().
Elimina todas las columnas entre un nombre de columna específico y el nombre de otra columna.
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column name 'B' to 'D' df.drop(df.ix[:, 'B':'D'].columns, axis=1)
Producción:
Método 4: suelte columnas de un marco de datos usando el método loc[] y drop().
Elimina todas las columnas entre un nombre de columna específico y el nombre de otra columna.
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) # Remove all columns between column name 'B' to 'D' df.drop(df.loc[:, 'B':'D'].columns, axis=1)
Producción:
Nota: Diferente loc() e iloc() es iloc() excluye el último elemento de rango de columna.
Método 5: suelte columnas de un marco de datos de forma iterativa.
Elimina todas las columnas entre un nombre de columna específico y el nombre de otra columna.
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) for col in df.columns: if 'A' in col: del df[col] df
Producción:
Método 6: método Python dataframe.pop()
Python3
# Import pandas package import pandas as pd # create a dictionary with five fields each data = { 'A': ['A1', 'A2', 'A3', 'A4', 'A5'], 'B': ['B1', 'B2', 'B3', 'B4', 'B5'], 'C': ['C1', 'C2', 'C3', 'C4', 'C5'], 'D': ['D1', 'D2', 'D3', 'D4', 'D5'], 'E': ['E1', 'E2', 'E3', 'E4', 'E5']} # Convert the dictionary into DataFrame df = pd.DataFrame(data) df.pop('B') df
Producción:
A C D E 0 A1 C1 D1 E1 1 A2 C2 D2 E2 2 A3 C3 D3 E3 3 A4 C4 D4 E4 4 A5 C5 D5 E5