fix: corrige cálculo da média diária considerando todos os 365 dias do ano
This commit is contained in:
17
create_nb.py
17
create_nb.py
@@ -109,17 +109,24 @@ Começaremos focando em 5 trechos (alvo variável).
|
||||
cells.append(nbf.v4.new_code_cell("""# Demanda diária por trecho
|
||||
demanda_diaria = df_c97.groupby(['Trecho', 'Data Apenas'])['PAX'].sum().reset_index()
|
||||
|
||||
# Criar um range de datas para todo o ano de 2025 para contabilizar os dias sem voo
|
||||
import itertools
|
||||
datas_2025 = pd.date_range(start='2025-01-01', end='2025-12-31').date
|
||||
todos_trechos = demanda_diaria['Trecho'].unique()
|
||||
idx = pd.MultiIndex.from_product([todos_trechos, datas_2025], names=['Trecho', 'Data Apenas'])
|
||||
demanda_diaria_completa = pd.DataFrame(index=idx).reset_index()
|
||||
|
||||
# Mesclar com os dados reais e preencher NaN com 0
|
||||
demanda_diaria_completa = pd.merge(demanda_diaria_completa, demanda_diaria, on=['Trecho', 'Data Apenas'], how='left').fillna({'PAX': 0})
|
||||
|
||||
# Estatísticas (Média e Desvio Padrão) por trecho
|
||||
estatisticas_trechos = demanda_diaria.groupby('Trecho').agg(
|
||||
estatisticas_trechos = demanda_diaria_completa.groupby('Trecho').agg(
|
||||
Media_PAX_Diario=('PAX', 'mean'),
|
||||
Desvio_Padrao_PAX=('PAX', 'std'),
|
||||
Total_PAX=('PAX', 'sum'),
|
||||
Dias_Operados=('Data Apenas', 'count')
|
||||
Dias_Operados=('PAX', lambda x: (x > 0).sum())
|
||||
).reset_index()
|
||||
|
||||
# Preencher NaN no desvio padrão (caso operado apenas 1 dia) com 0
|
||||
estatisticas_trechos['Desvio_Padrao_PAX'] = estatisticas_trechos['Desvio_Padrao_PAX'].fillna(0)
|
||||
|
||||
# Ordenar pelas rotas de maior média de PAX diário
|
||||
estatisticas_trechos = estatisticas_trechos.sort_values(by='Media_PAX_Diario', ascending=False)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user