En este artículo, veremos cómo soltar filas que contienen una string específica en pandas. Ahora, para soltar las filas con una string específica, podemos usar la función contains() de la biblioteca pandas.
Sintaxis: series.str.contains(string, case=True, flags=0, na=Ninguno, regex=True)
Devoluciones –
Serie o índice de valores booleanos
Básicamente, esta función buscará la string en la columna dada y devolverá las filas correspondientes. Para esto, necesitamos crear un nuevo marco de datos filtrando el marco de datos usando esta función.
Sintaxis:
df[ df[ «columna»].str.contains( «algunaString» )==Falso ]
Ejemplo : Crear marco de datos
Python3
# Importing the library import pandas as pd # Dataframe df = pd.DataFrame({'team': ['Team 1', 'Team 1', 'Team 2', 'Team 3', 'Team 2', 'Team 3'], 'Subject': ['Math', 'Science', 'Science', 'Math', 'Science', 'Math'], 'points': [10, 8, 10, 6, 6, 5]}) # display df
Salida :
Método 1: descartar las filas que contienen una string específica
En este método, vamos a encontrar las filas con la función str.contains() que básicamente tomará la string de la serie y verificará la coincidencia de la string dada, y usando un booleano estamos seleccionando las filas y configurándolas en False nos ayudará a descuidar las filas seleccionadas y mantener las filas restantes.
sintaxis: df[df[“nombre_columna”].str.contains(“string”)==False]
Ejemplo :
En el siguiente ejemplo, vamos a seleccionar todos los equipos excepto el “Equipo 1”.
Python3
# importing the library import pandas as pd # Dataframe df = pd.DataFrame({'team': ['Team 1', 'Team 1', 'Team 2', 'Team 3', 'Team 2', 'Team 3'], 'Subject': ['Math', 'Science', 'Science', 'Math', 'Science', 'Math'], 'points': [10, 8, 10, 6, 6, 5]}) # Dropping the team 1 df = df[df["team"].str.contains("Team 1") == False] df
Salida :
Método 2: soltar las filas con más de una string
Igual que el método 1, seguimos los mismos pasos aquí pero con un operador bit a bit o para agregar una string adicional para buscar.
sintaxis: df = df[df[“nombre_columna”].str.contains(“string1|string2”)==False]
Ejemplo :
En el siguiente programa, vamos a soltar las filas que contienen «Equipo 1» o «Equipo 2».
Python3
# importing the library import pandas as pd # Dataframe df = pd.DataFrame({'team': ['Team 1', 'Team 1', 'Team 2', 'Team 3', 'Team 2', 'Team 3'], 'Subject': ['Math', 'Science', 'Science', 'Math', 'Science', 'Math'], 'points': [10, 8, 10, 6, 6, 5]}) # Dropping the rows of team 1 and team 2 df = df[df["team"].str.contains("Team 1|Team 2") == False] # display df
Salida :
Método 3: Soltar filas con la string parcial dada
Aquí estamos usando la misma función con un método de unión que lleva la parte de la palabra que necesitamos buscar.
sintaxis:
df[ ~df.nombre_columna.str.contains(‘|’.join([“string”])) ]
Ejemplo:
En este programa siguiente, la situación es diferente de los dos casos anteriores. Aquí vamos a seleccionar y soltar las filas con la string parcial dada. Por ejemplo, vamos a colocar las filas con «Sci» en los temas de la columna.
Python3
# importing the library import pandas as pd # Dataframe df = pd.DataFrame({'team': ['Team 1', 'Team 1', 'Team 2', 'Team 3', 'Team 2', 'Team 3'], 'Subject': ['Math', 'Science', 'Science', 'Math', 'Science', 'Math'], 'points': [10, 8, 10, 6, 6, 5]}) # Dropping the rows with "Sci" # identify partial string discard = ["Sci"] # drop rows that contain the partial string "Sci" df[~df.Subject.str.contains('|'.join(discard))] #display df
Producción:
Publicación traducida automáticamente
Artículo escrito por shivapriya1726 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA