En este artículo, discutiremos cómo soltar columnas en Pandas Dataframe por Nombres de etiquetas o por Posiciones de índice. La eliminación de columnas de un DataFrame se puede lograr de varias maneras.
Vamos a crear un marco de datos simple con un diccionario de listas, digamos que los nombres de las columnas son: ‘Nombre’, ‘Edad’, ‘Lugar’, ‘Colegio’.
# import pandas library as pd import pandas as pd # List of Tuples students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] # Create a DataFrame object from # list of tuples with columns # and indices. details = pd.DataFrame(students, columns =['Name', 'Age', 'Place', 'College'], index =['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'j', 'k']) # show the dataframe details
Producción :
Método 1: suelte columnas de un marco de datos utilizando el dataframe.drop()
método.
Ejemplo 1: eliminar una columna de mención única específica.
# import pandas library as pd import pandas as pd # List of Tuples students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] # Create a DataFrame object from # list of tuples with columns # and indices. details = pd.DataFrame(students, columns =['Name', 'Age', 'Place', 'College'], index =['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'j', 'k']) # Remove column name 'Age' rslt_df = details.drop(['Age'], axis = 1) # show the dataframe rslt_df
Producción :
Ejemplo 2: eliminar columnas de menciones múltiples específicas.
# import pandas library as pd import pandas as pd # List of Tuples students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] # Create a DataFrame object from # list of tuples with columns # and indices. details = pd.DataFrame(students, columns =['Name', 'Age', 'Place', 'College'], index =['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'j', 'k']) # Remove two columns name is 'Age' and # 'College' rslt_df = details.drop(['Age', 'College'], axis = 1) # show the dataframe rslt_df
Producción :
Ejemplo 3: eliminar columnas según el índice de columna.
# import pandas library as pd import pandas as pd # List of Tuples students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] # Create a DataFrame object from # list of tuples with columns # and indices. details = pd.DataFrame(students, columns =['Name', 'Age', 'Place', 'College'], index =['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'j', 'k']) # Remove three columns as index base # 0, 1, 2 rslt_df = details.drop(details.columns[[0, 1, 2]], axis = 1) # show the dataframe rslt_df
Producción :
Método 2: suelte columnas de un marco de datos usando un iloc[]
método drop()
.
Ejemplo: eliminar todas las columnas entre una columna específica y otras columnas (excluir)
# import pandas library as pd import pandas as pd # List of Tuples students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] # Create a DataFrame object from # list of tuples with columns # and indices. details = pd.DataFrame(students, columns =['Name', 'Age', 'Place', 'College'], index =['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'j', 'k']) # Remove all columns from column # index 1 to 3(exclude) rslt_df = details.drop(details.iloc[:, 1:3], axis = 1) # show the dataframe rslt_df
Producción :
Método 3: suelte columnas de un marco de datos usando un loc[]
método drop()
.
Ejemplo: elimine todas las columnas entre un nombre de columna específico y otro nombre de columna.
# import pandas library as pd import pandas as pd # List of Tuples students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] # Create a DataFrame object from # list of tuples with columns # and indices. details = pd.DataFrame(students, columns =['Name', 'Age', 'Place', 'College'], index =['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'j', 'k']) # Remove all columns from column name # 'Name' to 'College' rslt_df = details.drop(details.loc[:, 'Name':'College'].columns, axis = 1) # show the dataframe # only indexes print rslt_df
Producción :
Nota: Diferente loc()
y iloc()
es iloc() excluye el último elemento de rango de columna.
Método 4: suelte columnas de un marco de datos de forma iterativa.
Ejemplo: eliminar una columna específica.
# import pandas library as pd import pandas as pd # List of Tuples students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] # Create a DataFrame object from # list of tuples with columns # and indices. details = pd.DataFrame(students, columns =['Name', 'Age', 'Place', 'College'], index =['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'j', 'k']) # loop throughout all the columns for column in details.columns : if column == 'Age' : # delete the column del details[column] # show the dataframe details
Producción :