あれもPython,これもPython

Pythonメモ※本サイトはアフィリエイトを利用しています

Pandasでdate_truncがしたい2(to_period)

▼の記事で、resampleを使ってdate_truncの再現をしました。 esu-ko.hatenablog.com

ただし、resampleは制約も多く、年と月を合わせた切り捨てができない状態でした。時間に対しては切り捨て処理ができるround,ceil,floorが存在するのですが、これは日付以上には使えません。

と思っていたところ、ドキュメントをみていると、to_periodを見つけ、これがdate_truncとほぼ同様の処理でした。

import pandas as pd

s = pd.Series(pd.date_range(start='2020-01-01',periods=365))

#月以上に切り捨て
s.dt.to_period('M')
0      2020-01
1      2020-01
2      2020-01
3      2020-01
4      2020-01
        ...   
360    2020-12
361    2020-12
362    2020-12
363    2020-12
364    2020-12

と、こんな感じで欲しい単位で取得できました。

M(Month)意外にも、W(Week),Y(Year),Q(Quarter)などほぼ一通り使用できたので、今後はこれを使って行こうと思います。