Dividiendo cadenas utilizando múltiples delimitadores – en Python. Obteniendo TypeError: se esperaba una cadena o un objeto similar a bytes.
Mi pregunta se refiere a los datos que se pasan en la función re.split().
Tengo los siguientes datos:
Nombre | Deporte |
---|---|
John | Fútbol;NBA,Tenis |
Mary | Squash,Tetris;MMA |
Scott | Cricket,Tenis |
Kim | Rugby,WNBA;Fútbol |
Estoy intentando dividir las cadenas utilizando ‘;’ y ‘,’ como delimitadores. Inicialmente, el tipo de dato de la columna Nombre y Deporte es ‘object’.
import numpy as np
import pandas as pd
import re
df = pd.read_excel(r’ruta_archivo\sports.xlsx’,sheet_name = ‘data’)
df[[‘Nombre’,’Deporte’]] = df[[‘Nombre’,’Deporte’]].astype(‘string’)
print(df.dtypes)
df[[‘A’]] = re.split(r’;,’,df[‘Deporte’])
df
Después de convertir a string e intentar dividir, obtengo el siguiente error.
TypeError: expected string or bytes-like object
Intenté usando
df[[‘A’]] = re.split(r’;,’,df[‘Deporte’].astype(‘string’))
Pero el error aún persiste. ¿Alguna sugerencia?
davy.ai
Puede intentar usar
str.split()
en lugar dere.split()
: