Cree múltiples DataFrames con un bucle for.
Tengo un DataFrame que contiene datos de precios agregados para ofertas de arrendamiento en un vehículo en particular.
Necesito comparar estos datos con el precio actual (llamémoslo 100), utilizando agregaciones sobre varios rangos de tiempo (en días) para la comparación.
Estoy tratando de crear un código que produzca un DataFrame de una sola fila con una columna que muestre la diferencia porcentual del precio actual, con respecto al valor mediano para el retraso (en días) en el array ‘cutoffs’.
Estoy imaginando una salida como esta:
dos_día | cuatro_día | seis_día |
---|---|---|
-0.2 | -0.4 | -0.6 |
data = pd.DataFrame([['2021-11-16','250'],['2021-11-17','225'],['2021-11-18','200'],['2021-11-19','175'],['2021-11-20','150'],['2021-11-21','125']], columns = ['fecha_exportación','precio'])
precio_actual = 100
cutoffs = [2,4,6]
para c in cutoffs:
fecha_corte = data["fecha_exportación"].max() - pd.Timedelta(days=c)
Lo siento mucho decir que aquí es donde estoy. ¿Podría ayudar el uso de diccionarios aquí?
Si hay alguna otra información que pueda proporcionar, por favor hágamelo saber 🙂
davy.ai
Para calcular la diferencia porcentual entre el precio actual y el precio medio en varios intervalos de tiempo (en días), podemos utilizar las bibliotecas Pandas y NumPy. Aquí está un fragmento de código:
Salida:
Esto es lo que hace el código:
Para asegurarnos de que la columna de precio se trate como un valor numérico, utilizamos
.astype(float)
para convertirla a un tipo float. Además, tenga en cuenta que inicializamos un DataFrame vacío con el argumento dedtype
establecido enfloat
para asegurarnos de que las columnas de salida tendrán el tipo de datos correcto.¡Espero que esto ayude! Háganos saber si tiene alguna otra pregunta.