月次データを四半期にまとめる
前の演習では、より詳細な月次情報のために四半期を月に分割する方法を見ました。では逆に、列数を減らすためにデータをまとめたい場合はどうすればよいでしょうか? これは、月次の詳細が不要な過去データを扱うときや、レポート用に高度に集約したバージョンが必要なときによく行われます。
ここでのポイントはインデックスを作り、四半期合計 quarter に対して3か月ごとの周期、もしくはリストの末尾に達するまで加算することです。次のコードで実現できます。
if index % 3 == 0 or index == len(months):
このコードは、インデックスを3で割ったときの余りが0か、インデックスがリスト months の末尾にあるかを確認します。したがって、ループ内では3か月ごと、またはリストの末尾に達したときに指定した処理を実行します。
月次売上はすでに months として提供されており、最初の2四半期分とQ3の1か月目が含まれています。あなたのタスクは、新しいリスト quarters を作成し、最初の3か月から四半期ごとの合計(Q3の途中経過を含む)を格納することです。
この演習はコースの一部です
Pythonで学ぶファイナンシャル・フォーキャスティング
演習の手順
新しい四半期値を入れる空のリスト
quartersを初期化し、インデックス変数indexを1に設定します。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], ____, ____))