Розглянемо файл csv:
string,date,number
a string,2/5/11 9:16am,1.0
a string,3/5/11 10:44pm,2.0
a string,4/22/11 12:07pm,3.0
a string,4/22/11 12:10pm,4.0
a string,4/29/11 11:59am,1.0
a string,5/2/11 1:41pm,2.0
a string,5/2/11 2:02pm,3.0
a string,5/2/11 2:56pm,4.0
a string,5/2/11 3:00pm,5.0
a string,5/2/14 3:02pm,6.0
a string,5/2/14 3:18pm,7.0
Я можу прочитати це та переформатувати стовпець дати у формат datetime:
b=pd.read_csv('b.dat')
b['date']=pd.to_datetime(b['date'],format='%m/%d/%y %I:%M%p')
Я намагався згрупувати дані за місяцями. Здається, повинен бути очевидний спосіб отримати доступ до місяця та згрупувати за цим. Але я, здається, не можу цього зробити. Хтось знає як?
Наразі я намагаюся повторно індексувати за датою:
b.index=b['date']
Я можу отримати доступ до місяця так:
b.index.month
Однак я, здається, не можу знайти функції, щоб згрупуватись по місяцях.
resample
(коли він надає потрібну вам функціональність), або використовуватиTimeGrouper
:df.groupby(pd.TimeGrouper(freq='M'))