Source code for src.Kotzur_intraday
import pandas as pd
[docs]
def intraday_kotzur(conversion_path, storage_path, storage_level_start, output_path):
# Carregar os arquivos
conversionlts_df = pd.read_csv(conversion_path)
storagelevel_df = pd.read_csv(storage_path)
# Ordenar por TIMESLICECRO e filtrar por VALUE = 1
filtered_conversionlts = conversionlts_df[conversionlts_df['VALUE'] == 1].sort_values('TIMESLICECRO')
# Mapear cada TIMESLICE de filtered_conversionlts para o VALUE correspondente em storagelevel_df
values_from_storage = filtered_conversionlts['TIMESLICE'].map(
storagelevel_df.set_index('TIMESLICE')['VALUE']
)
# Criar um novo DataFrame para salvar no Excel
result_df = pd.DataFrame({
'TIMESLICECRO': filtered_conversionlts['TIMESLICECRO'],
'VALUE': values_from_storage
})
# Cria a coluna 'VALUEACCUMULATED' para iniciar com 0 e depois acumular os valores
result_df['VALUEACCUMULATED'] = result_df['VALUE'].shift(1).fillna(0).cumsum() + storage_level_start
# Salvar o DataFrame corrigido em um arquivo Excel
result_df.to_csv(output_path, index=False)
return output_path