跨欄位廣播(Broadcasting across columns)
回顧一下:當要在欄位方向進行廣播時,你必須明確告訴 NumPy 要以「垂直」陣列來廣播;而在 NumPy 中,並不存在水平或垂直的 1D 陣列。取而代之的是,你需要先建立一個 2D 陣列,表明資料是垂直方向。接著,NumPy 會為每個欄位建立這個 2D 垂直陣列的副本,並套用指定的運算。
已提供一個名為 monthly_growth_rate 的 Python 清單,其 len() 為 12。這個清單代表經濟的每月年增率預期值;你的任務是使用廣播,將此清單與 monthly_sales 陣列中的每一欄相乘。monthly_sales 陣列與 numpy(作為 np)都已載入。
本練習屬於課程
NumPy 入門
練習說明
- 將目前為 Python 清單的
monthly_growth_rate轉為一維 NumPy 陣列,命名為monthly_growth_1D。 - 將
monthly_growth_1D重新塑形,使其可在欄位方向對monthly_sales進行廣播;將新陣列命名為monthly_growth_2D。 - 使用廣播,將
monthly_growth_2D與monthly_sales的每一欄相乘。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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(____)