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 str.rindex() de
Pandas se usa para buscar y devolver el índice más alto (primero desde el lado derecho) de una substring en una sección particular (entre el inicio y el final) de cada string en una serie. Este método funciona de manera similar a str.find() pero en el caso de que no se encuentre, en lugar de devolver -1, str.rindex() da un ValueError. Nota: este método es diferente de str.index(). str.rindex() es para búsqueda inversa. La salida de str.index() y str.rindex() es la misma si la substring existe solo una vez en la string.
Sintaxis: Series.str.rindex(sub, start=0, end=Ninguno)
Parámetros:
sub: String o carácter a buscar en el valor de texto en
inicio de serie: String o carácter a buscar en el valor de texto en
final de serie: String o carácter que se buscará en el valor de texto de la serie
Tipo de retorno: Serie con el índice más alto de substring si se encuentra.
Para descargar el conjunto de datos utilizado en el siguiente ejemplo, 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 #1: encontrar el índice más alto cuando existe una substring en cada string
En este ejemplo, ‘e’ se pasa como substring. Dado que ‘e’ existe en las 5 strings, se devuelve el índice más alto de su ocurrencia. Se aplican los métodos index y rindex y los resultados se almacenan en diferentes columnas para compararlos. Antes de aplicar cualquier operación, las filas nulas se eliminaron utilizando el método .dropna().
Python3
# importing pandas module import pandas as pd # reading csv file from url data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv") # dropping null value columns to avoid errors data.dropna(inplace = True) # extracting 5 rows short_data = data.head().copy() # calling str.index() method short_data["Index Name"]= short_data["Name"].str.index("e") # calling str.rindex() method short_data["Reverse Index Name"]= short_data["Name"].str.rindex("e") # display short_data
Salida:
como se muestra en la imagen de salida, se puede comparar que el método .index() devolvió el índice mínimo mientras que el método str.rindex() devolvió el índice más alto.
Ejemplo #2:
En este ejemplo, ‘a’ se busca en las primeras 5 filas. Dado que ‘a’ no existe en todas las strings, se devolverá un error de valor. Para manejar el error, se usa probar y excepto.
Python3
# importing pandas module import pandas as pd # reading csv file from url data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv") # dropping null value columns to avoid errors data.dropna(inplace = True) # extracting 5 rows short_data = data.head().copy() # calling str.rindex() method try: short_data["Index Name"]= short_data["Name"].str.rindex("a") except Exception as err: print(err) # display short_data
Salida:
como se muestra en la imagen de salida, el marco de datos de salida no tiene la columna Nombre de índice y se imprimió el error «substring no encontrada». Esto se debe a que str.rindex() devuelve ValueError si no se encuentra y, por lo tanto, debe haber ido a excepto caso e impreso el error.
Publicación traducida automáticamente
Artículo escrito por Kartikaybhutani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA