St_Hakky’s blog

Data Science / Human Resources / Web Applicationについて書きます

【Pandas】週の曜日の始まりが違う場合の週ごとの日付を取得する方法があったのでまとめる

こんにちは。

モチベーション

今開発で、週の曜日の始まりが違うケースがあって、でも一年間の週の通し番号ごとに集計をしたい、みたいな感じのことがしたく、週の曜日始まりが違う曜日のスタートで、週ごとの日付を取得したいなという気持ちがありました。

pandasで普通に週ごとの日付を取得したい場合は、date_rangeのメソッドを使って、

import pandas as pd

pd.date_range(start='2021-01-01', end='2022-01-01', freq='W')

とすればいいなって思っていました。が、この週の曜日のスタートを変えたい場合は、どうしたらいいんだろうというのを解消するのがこの記事のモチベーションです。

結論

freqのパラメーターに、良きパラメーターがありまして、それを追加するだけです。例えば、月曜日スタートにしたい場合は、以下のようになります。

import pandas as pd

pd.date_range(start='2021-01-01', end='2022-01-01', freq='W-MON')

簡単すぎる、、、。

他の曜日はどうするの

ということで、freqのパラメーターのリストを作りました。

開始曜日 freqのパラメーター
日曜日 W-SUN
月曜日 W-MON
火曜日 W-TUE
水曜日 W-WED
木曜日 W-THU
金曜日 W-FRI
土曜日 W-SAT


以下のサイトに公式のドキュメントがあります。

それでは。