【Python】データフレームの日付データで、現在から何ヶ月差か計算する方法

Python

こんにちは!
本記事は、Pythonのデータ分析ライブラリであるPandasを使用して、現在から何ヶ月差があるかを計算する方法について解説いたします。この方法は、ビジネスシーンやデータ分析で日付データを扱う際に非常に役立ちますので、ぜひ使いこなせるようになってください!

それでは、早速解説を始めましょう!

Pandasとは?

Pandasは、Pythonでデータ分析を行うためのオープンソースのライブラリで、データフレームという2次元の表形式のデータ構造を提供しています。データフレームは、行と列によって構成されており、データの取り扱いや加工が容易になります。さらに、日付データを扱う際の関数も充実しているため、日付データの処理にも適しています。

また、Pnadasはデータ分析とは切っても切り離せないはど強固なベースを築いております。Polarsのような非常にホットなライブラリもありますが、多くの枠組みの中ですでにPandasのデータフレームが活用されていることもあるため、今後もしばらくはPandasデータフレームが扱える方が良いでしょう。

とはいえ、新しいものに興味をもって知ることは非常に尊いことです。何かに固執することなく、柔軟にデータサイエンスを極めてください!

話が逸れてしまいました。早速中身の方に入っていきます!

手順

まずは手順からです。

  1. 必要なライブラリのインポート
  2. 日付データを含むデータフレームの作成
  3. 現在日時から何ヶ月差があるか計算する関数の作成
  4. データフレームに現在から何ヶ月差があるかの列を追加
  5. 結果の確認

以上の順番で紹介していきます。データの生成などは場合によっては読み飛ばしていただいて大丈夫です。必要な箇所を掻い摘んで読んで行ってください!

必要なライブラリのインポート

まずは、以下のようにPandasとdatetimeライブラリをインポートしましょう。

import pandas as pd
from datetime import datetime

日付データを含むデータフレームの作成

次に、日付データを含むデータフレームを作成します。今回は、以下のようなデータフレームを例に説明します。

data = {
    "ID": [1, 2, 3, 4, 5],
    "Date": ["2020-01-01", "2020-03-05", "2020-07-15", "2021-04-20", "2021-08-30"]
}

df = pd.DataFrame(data)
df["Date"] = pd.to_datetime(df["Date"])

現在日時から何ヶ月差があるか計算する関数の作成

現在日時とデータフレームの日付データとの差をヶ月単位で計算する関数を作成します。

def month_diff(date1, date2):
    return (date1.year - date2.year) * 12 + date1.month - date2.month

一気にreturnにしなくても、一回変数にしてから、その変数をreturnしてもOKですよ!

データフレームに現在から何ヶ月差があるかの列を追加

データフレームに、現在から何ヶ月差があるかを示す列を追加します。以下のコードを実行することで、新しい列 “Month_diff” が追加されます。

current_date = datetime.now()
df["Month_diff"] = df["Date"].apply(lambda x: month_diff(current_date, x))

これで、データフレームに “Month_diff” 列が追加され、現在から何ヶ月差があるかが計算された結果が表示されます。

結果の確認

これで、データフレームに現在から何ヶ月差があるかを計算した結果が追加されました。以下のコードで、データフレーム全体を確認してみましょう。

print(df)

実行結果は以下のようになります。

   ID       Date  Month_diff
0   1 2020-01-01          40
1   2 2020-03-05          38
2   3 2020-07-15          34
3   4 2021-04-20          24
4   5 2021-08-30          20

これで、日付データを含むデータフレームに対して、現在から何ヶ月差があるかを計算することができました。この計算結果を使って、データ分析やレポート作成に活用できます。

まとめ

本記事では、PythonとPandasを使用して、データフレームの日付データと現在日時との差をヶ月単位で計算する方法について解説しました。この方法は、様々なデータ分析や日付データを扱うシーンで役立ちます。

特にビジネスシーンでは、時系列データを扱うことは非常に多いかと思います。時系列要素を含んだ高度な分析はやらなくても、何ヶ月差があるか、などはかなり出現頻度の高い計算方法なのではないでしょうか?
それが必要な時にサッと処理をかけちゃうのって結構かっこいいですよね!

Pandasは、データ分析を効率的に行うための強力なツールであり、日付データの処理をはじめ、さまざまなデータ操作や加工が可能です。ぜひ、今回学んだ知識を活用して、データ分析の幅を広げてください!

データサイエンティストの書評ブログ
趣味が読書くらいしかない駆け出しデータサイエンティストの書評ブログです。日々の勉強のアウトプットや趣味の読書のおすすめをしていきます。

参照サイト

今回の内容に関連する役に立つウェブサイトをいくつか紹介します。これらのサイトは、Pandasや日付データの操作に関する情報が豊富にありますので、ぜひ参考にしてみてください。

  1. Pandas公式ドキュメント(英語): https://pandas.pydata.org/pandas-docs/stable/index.html
    Pandas公式ドキュメントは、Pandasの機能や使い方について詳細な情報が記載されています。日付データを含むデータフレームの操作方法や、関数の使い方なども充実しています。
  2. Pythonのdatetimeモジュール公式ドキュメント(英語): https://docs.python.org/3/library/datetime.html
    Pythonのdatetimeモジュールの公式ドキュメントです。日付データの操作や計算に関する機能が詳しく記載されており、今回の内容とも関連が深いです。

関連記事

コメント

タイトルとURLをコピーしました