パンダのGroupBy月

Preet Sanghavi 2023年6月21日
  1. パンダで月ごとにデータフレームをグループ化する
  2. Pandas で groupby() 関数を使用する
パンダのGroupBy月

このチュートリアルでは、Pandas を使用して、日付ごと、特に月ごとにデータ フレームを配置します。 必要なライブラリをインポートすることから始めましょう。

パンダで月ごとにデータフレームをグループ化する

関連するライブラリをインポートします。

import pandas as pd

日付を含むデータ フレームを作成して、日付を月順に並べる必要があります。 私たちの場合、作業に 3つの日付を使用します。

以下のコードを使用して、サンプル データ フレームを作成します。

df = pd.DataFrame(
    {
        "Date": [
            pd.Timestamp("2000-11-02"),
            pd.Timestamp("2000-01-02"),
            pd.Timestamp("2000-01-09"),
        ],
        "ID": [1, 2, 3],
        "Price": [140, 120, 230],
    }
)

日付を含むサンプル データ フレームを見てみましょう。

print(df)
        Date  ID  Price
0 2000-11-02   1    140
1 2000-01-02   2    120
2 2000-01-09   3    230

データフレームを作成したら、月順に並べてみましょう。 groupby() 関数を使用して、データ フレーム全体を処理します。

Pandas で groupby() 関数を使用する

Pandas GroupBy を使用して、オブジェクトに groupby ディレクティブを指定できます。 この命令は、grouper 関数の key 引数、指定されている場合は level および/または axis パラメータ、およびターゲット オブジェクトまたは列のインデックス レベルを使用して列を選択します。

以下のコードを使用して、サンプル データ フレームで groupby 操作を実行しましょう。

df1 = df.groupby(pd.Grouper(key="Date", axis=0, freq="M")).sum()

データ フレームをグループ化したので、更新されたデータ フレームを見てみましょう。

print(df1)
            ID  Price
Date
2000-01-31   5    350
2000-02-29   0      0
2000-03-31   0      0
2000-04-30   0      0
2000-05-31   0      0
2000-06-30   0      0
2000-07-31   0      0
2000-08-31   0      0
2000-09-30   0      0
2000-10-31   0      0
2000-11-30   1    140

Date 列は、上記の例のデータ フレームをグループ化します。 月を表す freq = 'M' を指定したため、データは各月の最終日まで月ごとにグループ化され、price 列の合計が表示されます。

すべての月の値を指定しなかったため、groupby メソッドはすべての月のデータを表示し、その他の月には値 0 を割り当てました。

したがって、上記のアプローチを使用して、Pandas でデータ フレームを月ごとにグループ化することに成功しました。

著者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

関連記事 - Pandas GroupBy