【Python】今月の集計をしたい時に使う月初の取得方法

【Python】今月の集計をしたい時に使う月初の取得方法

【Python】今月の集計をしたい時に使う月初の取得方法

ここら辺はPHPでも簡単なので簡単にできるだろうと調べたらツボさえ押さえれば簡単でした。

日付処理のおさらい

UNIX時間を取得する場合

DateTime型処理の場合

エポック秒か否かで import するモジュールが変わる点に注意です。

今月月初を取得する

today()で取得したデータのdayを1にReplaceすると。
ちなみに、PHPの場合は下の感じで出来ます。

今月末の取得はどうなるか

取得した日のdayを1にReplaceとなると、30/31/28など変動する末日はどうなるか気になります。

月の最終日 = 指定した月の日数 ですよね。その考えに基づいてカレンダーから日数を取得してDayを置き換えます。
ちなみに、PHPの場合は下の感じで出来ます。

※t = 指定した月の日数 = 月末

月初を取得できると可能な事

無駄なデータを除外して今月の集計が出来ます。

例えば、売上データが格納されているテーブル内には先月のデータも去年のデータも入っていたりします。

いくらpandasが優れているとはいえ、このすべてのデータに対して月次集計をして最新月を表示するなんてのはサーバーSpecの無駄遣い。今月だけ必要なのであれば今月のデータを先に抽出してしまえばいいのですが、その際に月初と今日というフィルタを使えばOKと言う事です。

まとめ

日付処理って使う機会多いので簡単にできると嬉しいのですが、pythonでは少しめんどくさい手続きをするようです。

Pythonもツボを押さえれば簡単なのですが、こういう所はPHP便利だったなぁと実感します。