Итак, как я и предполагал, это было легко, учитывая доступные даты.
Итак, сначала создайте новые столбцы, обозначающие, к какой неделе, году и месяцу относится дата. Для этого вам нужно установить Dates в качестве индекса и parse_dates при чтении CSV:
data=pd.read_csv('Data 3.csv',index_col='Dates',parse_dates=True)
Теперь вы можете создать три столбца:
data['Week']=data.index.week
data['Month']=data.index.month
data['Year']=data.index.year
Это даст вам такие данные, как:
Total # Events Week Year Month
Dates
2010-03-10 0 10 2010 3
2010-03-11 4 10 2010 3
2010-03-12 0 10 2010 3
2010-03-13 0 10 2010 3
2010-03-14 0 10 2010 3
2010-03-15 0 11 2010 3
2010-03-16 0 11 2010 3
2010-03-17 0 11 2010 3
2010-03-18 2 11 2010 3
2010-03-19 0 11 2010 3
Вместо того, чтобы делиться для вас целым кодом, я просто покажу результаты Года и как это работает, отдохните, я надеюсь, что вы можете сделать это самостоятельно, иначе вы ничего не узнаете.
Итак, следующий шаг:
Yearwise=data.groupby(by=('Year')).sum()['Total # Events']
И это все, сюжет:
plt.figure(figsize=(14,10))
Yearwise.plot()
И график, которым вы поделились, тоже:

Помните, что для Месяца вам понадобится год и месяц для группировки, иначе будет сгруппировано все месяцы с одинаковыми номерами. Я имею в виду что-то вроде этого -
by=('Year','Month'))
Отдохни, я уверен, ты сможешь понять это самостоятельно. Тем не менее, если вы получаете ошибку, дайте мне знать.