Source code for src.update_yearsplit

import pandas as pd
import numpy as np
from collections import Counter

[docs] def yearsplit(timeslices, representative_days, chronological_sequence, days_in_year, output_file): timeslice_vector = np.arange(1, timeslices + 1) year_vector = np.repeat('2010', timeslices) # Contar a frequência de cada dia representativo no vetor chronological_sequence count = Counter(chronological_sequence) count_representative_days = {day: count[day] for day in representative_days} # Calcular o número de repetições por dia representativo blocks_per_day = timeslices // len(representative_days) value_vector = [] # para cada dia representativo, o year_split -é = (repetição do dia representativo * 24/blocks_per_day) / (365*24) # como 24 corta com 24, fica = (repetição do dia representativo / blocks_per_day) / (365) for day in representative_days: year_split = count_representative_days[day] / blocks_per_day / days_in_year value_vector.extend([year_split] * blocks_per_day) value_vector = np.array(value_vector) # Criar o DataFrame df = pd.DataFrame({ 'TIMESLICE': timeslice_vector, 'YEAR': year_vector, 'VALUE': value_vector }) # Salvar o DataFrame em um arquivo CSV df.to_csv(output_file, index=False) return output_file