Python | Pandas Reverse divide strings en dos Listas/Columnas usando str.rsplit()

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.

Pandas proporciona un método para dividir una string alrededor de un separador o delimitador pasado. Después de eso, la string se puede almacenar como una lista en una serie o también se puede usar para crear un marco de datos de varias columnas a partir de una sola string separada. rsplit()funciona de manera similar al .split()método pero rsplit()comienza a dividirse desde el lado derecho. Esta función también es útil cuando el separador/delimitador aparece más de una vez.

.str debe tener el prefijo cada vez antes de llamar a este método para diferenciarlo de la función predeterminada de Python; de lo contrario, dará un error.

Sintaxis:
Series.str.rsplit(pat=Ninguno, n=-1, expandir=Falso)

Parámetros:
pat: valor de string, separador o delimitador para separar la string en.
n: número de separaciones máximas para hacer en una sola string, el valor predeterminado es -1, lo que significa todo.
expandir: valor booleano, devuelve un marco de datos con un valor diferente en diferentes columnas si es verdadero. De lo contrario, devuelve una serie con una lista de strings.

Tipo de devolución: serie de lista o marco de datos según el parámetro de expansión

Para descargar el archivo Csv utilizado, haga clic aquí.

En los siguientes ejemplos, el marco de datos utilizado contiene datos sobre algunos jugadores de la NBA. La imagen del marco de datos antes de cualquier operación se adjunta a continuación.

 
Ejemplo #1: Dividir una string desde el lado derecho en una lista

En este ejemplo, la string de la columna Equipo se divide cada vez que aparece «t». El parámetro n se mantiene en 1, por lo tanto, el número máximo de divisiones en la misma string es 1. Dado que se usa rsplit(), la string se separará del lado derecho.

# 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)
  
# new data frame with split value columns
data["Team"]= data["Team"].str.rsplit("t", n = 1, expand = False)
  
# display
data

Salida:
como se muestra en la imagen de salida, la string se dividió en la «t» en «Celtics» y en la «t» en «Boston». Esto se debe a que la separación ocurrió en orden inverso. Dado que el parámetro de expansión se mantuvo en False, se devolvió una lista.

 

Ejemplo #2: Hacer columnas separadas de una string usando .rsplit()

En este ejemplo, la columna Nombre está separada por un espacio (» «) y el parámetro de expansión está establecido en Verdadero, lo que significa que devolverá un marco de datos con todas las strings separadas en una columna diferente. Luego, el marco de datos se usa para crear nuevas columnas y la columna de nombre anterior se elimina con el método .drop().

El parámetro n se mantiene en 1, ya que también puede haber segundos nombres (más de un espacio en blanco en la string). En este caso, rsplit() es útil ya que cuenta desde el lado derecho y, por lo tanto, la string del segundo nombre se incluirá en la columna del primer nombre porque el número máximo de separaciones se mantiene en 1.

# 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) 
    
# new data frame with split value columns 
new = data["Name"].str.split(" ", n = 1, expand = True) 
    
# making separate first name column from new data frame 
data["First Name"]= new[0] 
    
# making separate last name column from new data frame 
data["Last Name"]= new[1] 
    
# Dropping old Name columns 
data.drop(columns =["Name"], inplace = True) 
    
# df display 
data 

Salida:
como se muestra en la imagen de salida, se crearon las dos columnas nuevas y se eliminó la columna Nombre anterior.

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 *