Rozważ plik 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
Mogę to przeczytać i przeformatować kolumnę z datą na format daty i godziny:
b=pd.read_csv('b.dat')
b['date']=pd.to_datetime(b['date'],format='%m/%d/%y %I:%M%p')
Próbowałem pogrupować dane według miesięcy. Wygląda na to, że powinien istnieć oczywisty sposób dostępu do miesiąca i grupowania według niego. Ale nie mogę tego zrobić. Czy ktoś wie jak?
To, czego obecnie próbuję, to ponowne indeksowanie według daty:
b.index=b['date']
Mam dostęp do miesiąca w następujący sposób:
b.index.month
Jednak wydaje mi się, że nie mogę znaleźć funkcji, która mogłaby łączyć się w całość według miesiąca.
resample
(gdy zapewnia potrzebną funkcjonalność), albo użycieTimeGrouper
:df.groupby(pd.TimeGrouper(freq='M'))