Rozważmy pliku csv:pandy dataframe GroupBy datetime miesięcy
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 wczytać, a zmiany formy kolumnę dat w formacie datetime:
b=pd.read_csv('b.dat')
b['date']=pd.to_datetime(b['date'],format='%m/%d/%y %I:%M%p')
staram grupowanie danych według miesiąca. Wygląda na to, że powinien istnieć oczywisty sposób uzyskiwania dostępu do miesiąca i grupowania przez to. Ale nie mogę tego zrobić. Czy ktoś wie jak?
Co Obecnie próbuję jest ponowne indeksowanie według daty:
b.index=b['date']
mam dostępu miesiąc tak:
b.index.month
Jednak nie wydaje się znaleźć funkcji do grudka razem przez miesiąc.
myślę bardziej pandonic sposoby mają użyć 'resample' (kiedy to zapewnia funkcjonalność co potrzeba) lub użyć' TimeGrouper': 'df.groupby (pd.TimeGrouper (freq =” M ')) ' –
, aby uzyskać wynik sumy lub średniej DataFrame,' df.groupby (pd.TimeGrouper (freq =' M ')) .sum() 'lub' df.groupby (pd.TimeGrouper (freq =' M ')). mean() ' – Alexandre