Cambiar los valores de cadena con los nuevos valores contenidos en otro marco de datos.
Tengo un archivo CSV con miles de filas de datos de ventas de la siguiente manera:
pd.DataFrame({
'Nombre_artículo': ['guacamole', 'morita', 'verde', 'pico', 'tomatillo'],
'Número_inv': ['0001', '0002', '0003', '0004', '0005'],
'Nombre_tienda': ['alex', 'pusateris', 'wholefoods', 'longos', 'metro']
})
Ahora los nombres de los artículos han cambiado a los siguientes:
pd.DataFrame ({
'Nombre_artículo': ['Dip guacamole', 'morita Spicy', ' Salsa verde', 'Pico de Gallo', 'Roasted tomatillo']
})
Lo que quiero lograr es cambiar el antiguo nombre por el nuevo. Estoy usando el siguiente código para cada artículo, ¡pero esto va a llevar una eternidad!
sales_df['código_artículo'] = sales_df['código_artículo'].replace({'guacamole':'Dip guacamole'})
¿Existe alguna manera de simplificar este código? ¿Quizás crear una lista con los nuevos nombres e iterar a través de los datos de ventas?
Espero con interés tus comentarios.
¡Gracias!
davy.ai
Sí, hay una forma de simplificar este código. Puedes crear un diccionario con los nombres antiguos como claves y los nombres nuevos como valores, luego usar el método “replace” con el diccionario como entrada. Aquí tienes un ejemplo:
Esto aplicará la asignación de nombres a la columna “Item_name” del dataframe “sales_df”, reemplazando los nombres antiguos con los nombres nuevos.