Spaces:
Sleeping
Sleeping
from datetime import date | |
import pandas as pd | |
import plotly.express as px | |
import streamlit as st | |
def ventas_anuales(): | |
# Carga del archivo CSV | |
df = pd.read_csv('data/po_excel_original.csv') | |
# Transforma las columnas de meses en filas | |
df = df.melt(id_vars='Año', var_name='Mes', value_name='Ventas') | |
# Reordena los meses en orden cronológico | |
meses_ordenados = ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', | |
'Sep', 'Oct', 'Nov', 'Dic'] | |
df['Mes'] = pd.Categorical( | |
df['Mes'], categories=meses_ordenados, ordered=True | |
) | |
# Ordena el DataFrame por año y mes | |
df = df.sort_values(['Año', 'Mes']) | |
# Filtra los datos hasta el último mes mostrado | |
ultimo_mes_mostrado = meses_ordenados[date.today().month - 1] | |
df = df[df['Mes'] <= ultimo_mes_mostrado] | |
# Crea el gráfico de barras | |
fig = px.bar( | |
df, x='Mes', y='Ventas', title='Ventas Anuales', | |
labels={'Ventas': 'Ventas ($)', 'Mes': 'Mes', 'Año': 'Año'} | |
) | |
# Cambia el color de las barras a verde | |
fig.update_traces(marker_color='green') | |
# Muestra el gráfico en Streamlit | |
st.plotly_chart(fig, use_container_width=True) | |