列方向へのブロードキャスト
列方向にブロードキャストする場合、NumPy では「縦方向の配列」をブロードキャストすることを明示する必要がありますが、NumPy には横向き・縦向きの 1 次元配列という概念はありません。そこで、まず 2 次元配列を作成して、縦方向のデータであることを示します。そのうえで、NumPy はこの縦長の 2 次元配列のコピーを列ごとに作成し、指定した演算を適用します。
len() が 12 の monthly_growth_rate という Python リストが用意されています。このリストは景気の月次の前年比想定成長率を表します。あなたのタスクは、ブロードキャストを使って、このリストを monthly_sales 配列の各列に掛け合わせることです。monthly_sales 配列は読み込まれており、numpy は np としてインポート済みです。
この演習はコースの一部です
NumPy入門
演習の手順
- 現在は Python リストである
monthly_growth_rateを、1 次元の NumPy 配列monthly_growth_1Dに変換します。 monthly_growth_1Dをリシェイプして、monthly_salesに列方向でブロードキャストできる形にし、新しい配列をmonthly_growth_2Dと名付けます。- ブロードキャストを使って、
monthly_salesの各列にmonthly_growth_2Dを掛け算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Convert monthly_growth_rate into a NumPy array
monthly_growth_1D = ____
# Reshape monthly_growth_1D
monthly_growth_2D = monthly_growth_1D.____
# Multiply each column in monthly_sales by monthly_growth_2D
print(____)