Рассмотрим CSV файл:панды dataframe GroupBy DateTime месяц
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
Я могу читать это, и переформатировать столбец даты в формат даты и времени:
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
Однако я не могу найти функцию единовременно.
Я думаю, что более pandonic способы являются либо использовать 'resample' (когда он обеспечивает необходимую функциональность), или использовать' TimeGrouper': 'df.groupby (pd.TimeGrouper (частота =» M ')) ' –
, чтобы получить результат Сумма или среднее значение DataFrame,' df.groupby (pd.TimeGrouper (freq =' M ')). Sum() 'или' df.groupby (pd.TimeGrouper (freq =' M ')). mean() ' – Alexandre