Supongamos que tiene una tienda en línea. El precio de los productos se actualiza con frecuencia. Mientras calcula el precio final del producto, verifica si el precio actualizado está disponible o no. Si no está disponible, utiliza el último precio disponible.
Solución #1: podemos usar una expresión condicional para verificar si la columna está presente o no. Si no está presente, calculamos el precio utilizando la columna alternativa.
# importing pandas as pd import pandas as pd # Create the dataframe df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'], 'Product':['Umbrella', 'Matress', 'Badminton', 'Shuttle'], 'Last Price':[1200, 1500, 1600, 352], 'Updated Price':[1250, 1450, 1550, 400], 'Discount':[10, 10, 10, 10]}) # Print the dataframe print(df)
Producción :
Ahora comprobaremos si el precio actualizado está disponible o no. Si no está disponible, aplicaremos el descuento del 10% en la columna ‘Último precio’ para calcular el precio final.
# Check if the updated price is available or not if 'Updated Price' in df.columns: df['Final cost'] = df['Updated Price'] - (df['Updated Price']*0.1) else : df['Final cost'] = df['Last Price'] - (df['Last Price']*0.1) # Print the Dataframe print(df)
Producción :
Como podemos ver en el resultado, como la columna ‘Actualizar precio’ estaba disponible, el ‘Costo final’ se calculó sobre el precio actualizado.
Ahora, consideremos un escenario en el que el ‘Precio actualizado’ no está disponible.
# importing pandas as pd import pandas as pd # Create the dataframe df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'], 'Product':['Umbrella', 'Matress', 'Badminton', 'Shuttle'], 'Last Price':[1200, 1500, 1600, 352], 'Discount':[10, 10, 10, 10]}) # Print the dataframe print(df)
Producción :
Ahora comprobaremos si el precio actualizado está disponible o no. Si no está disponible, aplicaremos el descuento del 10% en la columna ‘Último precio’ para calcular el precio final.
# Check if the updated price is available or not if 'Updated Price' in df.columns: df['Final cost'] = df['Updated Price'] - (df['Updated Price']*0.1) else : df['Final cost'] = df['Last Price'] - (df['Last Price']*0.1) # Print the Dataframe print(df)
Producción :
Solución #2: Podemos usar la issubset()
función de Python para verificar si las columnas deseadas están presentes en el conjunto o no.
# importing pandas as pd import pandas as pd # Create the dataframe df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'], 'Product':['Umbrella', 'Matress', 'Badminton', 'Shuttle'], 'Last Price':[1200, 1500, 1600, 352], 'Updated Price':[1250, 1450, 1550, 400], 'Discount':[10, 10, 10, 10]}) # Print the dataframe print(df)
Producción :
Ahora comprobaremos si el precio actualizado está disponible o no. Si no está disponible, aplicaremos el descuento del 10% en la columna ‘Último precio’ para calcular el precio final.
# Check if the updated price is available or not if {'Updated Price', 'Discount'}.issubset(df.columns): df['Final cost'] = df['Updated Price'] - (df['Updated Price']*0.1) elif {'Last Price', 'Discount'}.issubset(df.columns): df['Final cost'] = df['Last Price'] - (df['Last Price']*0.1) # Print the Dataframe print(df)
Salida:
como podemos ver en la salida, como la columna ‘Actualizar precio’ estaba disponible, el ‘Costo final’ se calculó sobre el precio actualizado.
Ahora, consideremos un escenario en el que el ‘Precio actualizado’ no está disponible.
# importing pandas as pd import pandas as pd # Create the dataframe df = pd.DataFrame({'Date':['10/2/2011', '11/2/2011', '12/2/2011', '13/2/2011'], 'Product':['Umbrella', 'Matress', 'Badminton', 'Shuttle'], 'Last Price':[1200, 1500, 1600, 352], 'Discount':[10, 10, 10, 10]}) # Print the dataframe print(df)
Producción :
Ahora comprobaremos si el precio actualizado está disponible o no. Si no está disponible, aplicaremos el descuento del 10% en la columna ‘Último precio’ para calcular el precio final.
# Check if the updated price is available or not if {'Updated Price', 'Discount'}.issubset(df.columns): df['Final cost'] = df['Updated Price'] - (df['Updated Price']*0.1) elif {'Last Price', 'Discount'}.issubset(df.columns): df['Final cost'] = df['Last Price'] - (df['Last Price']*0.1) # Print the Dataframe print(df)
Salida:
como podemos ver en la salida, como la columna ‘Actualizar precio’ no estaba disponible, el ‘Coste final’ se calculó sobre la base del último precio.
Publicación traducida automáticamente
Artículo escrito por Shubham__Ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA