Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

replace: no funcionó porque me dice que no funciona en listas

Captura de pantalla del error que aparece al querer transformar los valores de la columna precio, dice AttributeError: 'list' object has no attribute 'replace'Ejecuté la misma línea de código del profesor (y todas las anteriores) y me arrojó ese error... Me podrían explicar cuál es el problema?

2 respuestas

Hola Riola,

El error que estás viendo se debe a que el método replace no está disponible para listas, sino para cadenas de texto (strings). Esto significa que, en algún punto, la función apply está recibiendo una lista en lugar de un string.

Para solucionar este problema, asegúrate de que cada elemento en la columna precio sea una cadena antes de aplicar el método replace. Puedes intentar convertir cada elemento a string dentro de la función lambda. Aquí tienes un ejemplo:

datos['precio'] = datos['precio'].apply(lambda x: str(x).replace('$', '').replace(',', '').strip())

Este código convierte cada elemento de la columna precio a una cadena antes de aplicar los reemplazos.

Espero que esto resuelva el problema. ¡Espero haber ayudado y buenos estudios!

Descubrí mi error. Estaba al principio, cuando transformamos todos los datos a columnas, mi columna precio no se transformó, quedó con listas. Hice de nuevo la transformación y entonces sí me funcionó el código. Gracias por la ayuda. Slds.