始める無料で始める

月次データを四半期にまとめる

前の演習では、より詳細な月次情報のために四半期を月に分割する方法を見ました。では逆に、列数を減らすためにデータをまとめたい場合はどうすればよいでしょうか? これは、月次の詳細が不要な過去データを扱うときや、レポート用に高度に集約したバージョンが必要なときによく行われます。

ここでのポイントはインデックスを作り、四半期合計 quarter に対して3か月ごとの周期、もしくはリストの末尾に達するまで加算することです。次のコードで実現できます。

if index % 3 == 0 or index == len(months):

このコードは、インデックスを3で割ったときの余りが0か、インデックスがリスト months の末尾にあるかを確認します。したがって、ループ内では3か月ごと、またはリストの末尾に達したときに指定した処理を実行します。

月次売上はすでに months として提供されており、最初の2四半期分とQ3の1か月目が含まれています。あなたのタスクは、新しいリスト quarters を作成し、最初の3か月から四半期ごとの合計(Q3の途中経過を含む)を格納することです。

この演習はコースの一部です

Pythonで学ぶファイナンシャル・フォーキャスティング

コースを見る

演習の手順

  • 新しい四半期値を入れる空のリスト quarters を初期化し、インデックス変数 index1 に設定します。

  • months から月次の sales を取り出すために for ループを作成します。

    • 月次売上を quarter に加算します。
    • 四半期の終わり、またはリスト months の末尾に達したら、四半期合計を quarters に追加します。
    • 四半期合計 quarter を0にリセットし、インデックスを1増やします(この処理は用意されています)。
  • 四半期合計を出力してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Create a months list, as well as an index, and set the quarter to 0
months = [100, 100, 150, 250, 300, 10, 20]
quarter = 0
____ = ____
____ = ____

# Create for loop for quarter, print result, and increment the index
for sales in months:
    quarter += ____
    if index % ____ == ____ or index == len(____):
        ____.append(____)
        quarter = 0
    index = index + 1
    
print("The quarter totals are Q1: {}, Q2: {}, Q3: {}".format(quarters[0], ____, ____))
コードを編集して実行