как лучше всего делать годовые линейные графики с ежедневными данными в боке?
в настоящее время я добавляю строку даты (произвольно для 2016 года) и столбец года в исходный фрейм данных ежедневных значений. Затем переходим к широким данным по годам, заполняя NA (отсутствующие данные различаются по годам), а затем строим график боке построчно по столбцам года:
Скажем, у меня есть таблица данных за три года:
Столбец: Дата и значение
df = df.set_index('Date')
df['dateline'] = df.index.to_series().dt.strftime('%d-%b-2016')
df['year'] = df.index.to_series().dt.strftime('%Y')
pv = pd.pivot_table(df, index=df['dateline'], columns=df.index.year,
values='value', aggfunc='sum')
pv.index = pd.to_datetime(pv.index, format = '%d-%b-%Y' )
pv.sort_index(inplace=True)
pv = pv.apply(lambda x: x.fillna(method = 'ffill' , limit = 4))
p.line(x= pv.index , y = pv[2017], line_width=1.5, line_color = "red" ,legend = '2017')
p.line(x= pv.index , y = pv[2016], line_width=1.5, line_color = "blue" ,legend = '2016')
p.line(x= pv.index , y = pv[2015], line_width=1.5, line_color = "green" , legend = '2015')
p.line(x= pv.index , y = pv[2014], line_width=1.5, line_color = "orange" ,legend = '2014')
У меня есть вопрос, можно ли это еще оптимизировать? Я хотел бы использовать зависание в будущем, так что было бы лучше всего настроить? Следующим шагом будет столбец циклов по годам, но нужно ли мне идти по этому пути?
Исходя из R, я хотел бы сохранить данные в длинном формате и сделать что-то вроде:
p.line(df, x='dateline' , y = 'value' , color = 'year')
Спасибо за советы.