Python es un excelente lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes de Python centrados en datos. Pandas es uno de esos paquetes y facilita mucho la importación y el análisis de datos.
El método Pandas str.findall()
también se usa para encontrar substrings o separadores en cada string de una serie. Pero es diferente del método str.find() . En lugar de devolver el índice, devuelve una lista con substrings y el tamaño de la lista es la cantidad de veces que ocurrió.
Sintaxis: Series.str.findall(pat, flags=0)
Parámetros:
pat: substring para buscar
indicadores: indicadores Regex que se pueden pasar (A, S, L, M, I, X), el valor predeterminado es 0, lo que significa Ninguno. Para este módulo regex (re) también se debe importar.Tipo de devolución: serie de lista (strings).
Para descargar el CSV utilizado en el código, haga clic aquí.
En los siguientes ejemplos, el marco de datos utilizado contiene datos de algunos jugadores de la NBA. La imagen del marco de datos antes de cualquier operación se adjunta a continuación.
Ejemplo n.º 1: Búsqueda de caracteres en una string
En este ejemplo, se busca ‘r’ en la columna de nombre usando el método str.findall() y la salida se almacena en una nueva columna. Antes de realizar cualquier operación, las filas nulas se descartan mediante .dropna() para evitar errores.
# importing pandas module import pandas as pd # making data frame data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv") # removing null values to avoid errors data.dropna(inplace = True) # string to be searched for search ='r' # returning values and creating column data["Findall(name)"]= data["Name"].str.findall(search) # display data.head(10)
Salida:
como se muestra en la imagen de salida, se puede comparar que la cantidad de ‘e’ devuelta es igual a la cantidad de veces que ocurrió en la string.
Ejemplo n.º 2: búsqueda de caracteres y paso del indicador IGNORECASE
En este ejemplo, se busca ‘a’ en la columna Nombre y se pasa el indicador IGNORECASE. Para eso, el módulo re también debe importarse. La serie devuelta del método str.findall() se almacena en una columna Nueva.
# importing pandas module import pandas as pd # importing regex module import re # making data frame data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv") # removing null values to avoid errors data.dropna(inplace = True) # string to be searched for search ='a' # returning values and creating column data["Findall(name)"]= data["Name"].str.findall(search, flags = re.I) # display data.head(10)
Salida:
como se muestra en la imagen de salida, se puede ver en la primera fila que se devolvieron tanto ‘A’ como ‘a’ desde que se pasó el indicador IGNORECASE (re.I).
Publicación traducida automáticamente
Artículo escrito por Kartikaybhutani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA