Pandas dataframe で四半期ごとにグループ化する方法 (例あり)


次の基本構文を使用して、pandas DataFrame で行を四半期ごとにグループ化できます。

 #convert date column to datetime
df[' date '] = pd. to_datetime (df[' date '])

#calculate sum of values, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' values ']. sum ()

この特定の数式は、日付列の行を四半期ごとにグループ化し、DataFrame の値の列の合計を計算します。

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas で四半期ごとにグループ化する方法

ある会社のさまざまな日付の売上を示す次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd. date_range (start='1/1/2022', freq='M', periods= 12 ),
                   ' sales ': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14, 8, 3]})

#view DataFrame
print (df)

         dirty date
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 10
3 2022-04-30 5
4 2022-05-31 4
5 2022-06-30 8
6 2022-07-31 8
7 2022-08-31 3
8 2022-09-30 5
9 2022-10-31 14
10 2022-11-30 8
11 2022-12-31 3

関連: Pandas で日付範囲を作成する方法

次の構文を使用して、四半期ごとにグループ化された売上の合計を計算できます。

 #convert date column to datetime and subtract one week
df[' date '] = pd. to_datetime (df[' date '])

#calculate sum of sales, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' sales ']. sum ()

date
2022Q1 24
2022Q2 17
2022Q3 16
2022Q4 25
Freq: Q-DEC, Name: sales, dtype: int64

結果を解釈する方法は次のとおりです。

  • 第 1 四半期には合計24 件の販売が行われました。
  • 第 2 四半期には合計17 件の販売が行われました。
  • 第 3 四半期には合計16 件の販売が行われました。
  • 第 4 四半期には合計25 件の販売が行われました。

同様の構文を使用して、四半期ごとにグループ化された別の指標を計算できます。

たとえば、代わりに、四半期ごとにグループ化された最大売上高を計算できます。

 #convert date column to datetime
df[' date '] = pd. to_datetime (df[' date '])

#calculate max of sales, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' sales ']. max ()

date
2022Q1 10
2022Q2 8
2022Q3 8
2022Q4 14
Freq: Q-DEC, Name: sales, dtype: int64

結果を解釈する方法は次のとおりです。

  • 第 1 四半期の各月のピーク売上高は10でした。
  • 第 2 四半期の各月のピーク売上高は8でした。
  • 第 3 四半期の各月のピーク売上高は8でした。
  • 第 4 四半期の各月のピーク売上高は14でした。

: pandas でのgroupby操作の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

Pandas DataFrame で月ごとにグループ化する方法
Pandas DataFrame で週ごとにグループ化する方法
パンダ: Groupby を使用して条件付きでカウントする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です