У меня есть такой набор данных
И я хочу построить график потока / даты для каждой цели в каждой полосе пропускания. Что-то вроде этого
Я пробовал использовать pandas, но понятия не имею, как это сделать. Я пробовал plot.bar и plot.hist
Приветствую и заранее спасибо
Обновлено: я использую измененную юлианскую дату вместо календарной даты






Используйте pivot_table с DataFrame.plot, при необходимости измените агрегатную функцию на sum, mean ...:
df = pd.DataFrame({'date':['2022-01-01','2022-01-10','2023-01-01', '2023-02-10'],
'passband':[1,1,2,2],
'flux':[2,8,5,6]})
print (df)
date passband flux
0 2022-01-01 1 2
1 2022-01-10 1 8
2 2023-01-01 2 5
3 2023-02-10 2 6
df['date'] = pd.to_datetime(df['date'])
df['year'] = df['date'].dt.year
df1 = df.pivot_table(index='year',
columns='passband',
values='flux',
aggfunc='sum',
fill_value=0)
print (df1)
passband 1 2
year
2022 10 0
2023 0 11
df1.plot()
@ A.Esquivias - Извините, ответ был изменен на pivot_table
Следует ли использовать весь фрейм данных как dataTypeError: pivot_table() missing 1 required positional argument: 'data'
@ A.Esquivias - Вы правы, добавили решение с новым вспомогательным столбцом и примерами данных.
Получилось (без ошибок), но не построил, просто создал таблицу вместо графика
@ A.Esquivias - супер, последнее добавление df1.plot()
Это дает мне следующую ошибку: «ValueError: индекс содержит повторяющиеся записи, не может изменить форму»