Python | Serie Pandas.str.findall()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *