En este artículo, vamos a ver varios ejemplos de cómo eliminar filas del marco de datos en función de ciertas condiciones aplicadas en una columna.
Pandas proporciona a los analistas de datos una forma de eliminar y filtrar marcos de datos utilizando el dataframe.drop()
método. Podemos usar este método para descartar filas que no cumplan con las condiciones dadas.
Vamos a crear un dataframe de Pandas.
# import pandas library import pandas as pd # dictionary with list object in values details = { 'Name' : ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi', 'Priya', 'Swapnil'], 'Age' : [23, 21, 22, 21, 24, 25], 'University' : ['BHU', 'JNU', 'DU', 'BHU', 'Geu', 'Geu'], } # creating a Dataframe object df = pd.DataFrame(details, columns = ['Name', 'Age', 'University'], index = ['a', 'b', 'c', 'd', 'e', 'f']) df
Producción:
Ejemplo 1: eliminar filas según la condición de una columna.
# import pandas library import pandas as pd # dictionary with list object in values details = { 'Name' : ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi', 'Priya', 'Swapnil'], 'Age' : [23, 21, 22, 21, 24, 25], 'University' : ['BHU', 'JNU', 'DU', 'BHU', 'Geu', 'Geu'], } # creating a Dataframe object df = pd.DataFrame(details, columns = ['Name', 'Age', 'University'], index = ['a', 'b', 'c', 'd', 'e', 'f']) # get names of indexes for which # column Age has value 21 index_names = df[ df['Age'] == 21 ].index # drop these row indexes # from dataFrame df.drop(index_names, inplace = True) df
Producción :
Ejemplo 2: eliminar filas en función de varias condiciones en una columna.
# import pandas library import pandas as pd # dictionary with list object in values details = { 'Name' : ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi', 'Priya', 'Swapnil'], 'Age' : [23, 21, 22, 21, 24, 25], 'University' : ['BHU', 'JNU', 'DU', 'BHU', 'Geu', 'Geu'], } # creating a Dataframe object df = pd.DataFrame(details, columns = ['Name', 'Age', 'University'], index = ['a', 'b', 'c', 'd', 'e', 'f']) # get names of indexes for which column Age has value >= 21 # and <= 23 index_names = df[ (df['Age'] >= 21) & (df['Age'] <= 23)].index # drop these given row # indexes from dataFrame df.drop(index_names, inplace = True) df
Producción :
Ejemplo 3: eliminar filas en función de múltiples condiciones en diferentes columnas.
# import pandas library import pandas as pd # dictionary with list object in values details = { 'Name' : ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi', 'Priya', 'Swapnil'], 'Age' : [23, 21, 22, 21, 24, 25], 'University' : ['BHU', 'JNU', 'DU', 'BHU', 'Geu', 'Geu'], } # creating a Dataframe object df = pd.DataFrame(details, columns = ['Name', 'Age', 'University'], index = ['a', 'b', 'c', 'd', 'e', 'f']) # get names of indexes for which # column Age has value >= 21 # and column University is BHU index_names = df[ (df['Age'] >= 21) & (df['University'] == 'BHU')].index # drop these given row # indexes from dataFrame df.drop(index_names, inplace = True) df
Producción :