File size: 1,081 Bytes
cfc6bc9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83203a0
cfc6bc9
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import pandas as pd
import plotly.express as px
import streamlit as st
from datetime import date

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'})

    # Muestra el gráfico en Streamlit
    st.plotly_chart(fig, use_container_width=True)