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
これを読み込み、日付列を日時形式に再フォーマットできます。
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
しかし、月ごとにまとめる関数が見つからないようです。
ベストアンサー1
なんとかできました:
b = pd.read_csv('b.dat')
b.index = pd.to_datetime(b['date'],format='%m/%d/%y %I:%M%p')
b.groupby(by=[b.index.month, b.index.year])
または
b.groupby(pd.Grouper(freq='M')) # update for v0.21+