Pandasで日時列から月と年を抽出する方法
Pandasは、データ解析において非常に強力なツールであり、特に日時データの操作においてその真価を発揮します。この記事では、Pandasを用いて日時列から月と年を抽出する方法を詳しく説明します。具体的な例とともに、各ステップを分かりやすく解説します。
基本的な準備
まず、Pandasをインポートし、サンプルデータを作成します。以下のコードでは、日時データを含むDataFrameを作成します。
import pandas as pd # サンプルの日時データを含むDataFrameを作成 data = {'date': ['2023-01-15', '2023-02-20', '2023-03-25']} df = pd.DataFrame(data) # 'date'列をdatetime型に変換 df['date'] = pd.to_datetime(df['date']) print(df)
このコードを実行すると、以下のようなDataFrameが得られます。
date 0 2023-01-15 1 2023-02-20 2 2023-03-25
年を抽出する
次に、日時列から年を抽出します。Pandasでは、datetime型の列から年を取得するために、`dt.year`属性を使用します。
# 年を抽出して新しい列に追加 df['year'] = df['date'].dt.year print(df)
このコードを実行すると、DataFrameは以下のように更新されます。
date year 0 2023-01-15 2023 1 2023-02-20 2023 2 2023-03-25 2023
月を抽出する
次に、同様の方法で月を抽出します。`dt.month`属性を使用します。
# 月を抽出して新しい列に追加 df['month'] = df['date'].dt.month print(df)
このコードを実行すると、DataFrameは以下のように更新されます。
date year month 0 2023-01-15 2023 1 1 2023-02-20 2023 2 2 2023-03-25 2023 3
応用例:日付から複数の情報を抽出
さらに発展させて、日付から月名や曜日を抽出することもできます。以下の例では、月名と曜日を追加しています。
# 月名と曜日を抽出して新しい列に追加 df['month_name'] = df['date'].dt.month_name() df['day_name'] = df['date'].dt.day_name() print(df)
このコードを実行すると、DataFrameは以下のように更新されます。
date year month month_name day_name 0 2023-01-15 2023 1 January Sunday 1 2023-02-20 2023 2 February Monday 2 2023-03-25 2023 3 March Saturday
まとめ
この記事では、Pandasを用いて日時列から年と月を抽出する方法を紹介しました。これにより、データ解析や可視化において、より詳細な時間情報を活用することが可能になります。Pandasの強力な機能を活かして、データの分析をさらに深めましょう。
Pandasを使用して日時列から月と年を別々に抽出する方法は、以下の通りです。
1. 日時列をPandasのデータフレームとして読み込みます。
2. 日時列を含むデータフレームから、月を抽出するには、`df[‘日時列’].dt.month`を使用します。これにより、月の値が含まれる新しい列が作成されます。
3. 同様に、年を抽出するには、`df[‘日時列’].dt.year`を使用します。これにより、年の値が含まれる新しい列が作成されます。以上の手順に従うことで、Pandasの日時列から月と年を別々に抽出することができます。