教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

問答>python+大數(shù)據(jù)開發(fā)>求解:數(shù)組廣播是什么?

求解:數(shù)組廣播是什么?

來源傳智教育2022年06月20日 14時(shí)34分11秒

  數(shù)組在進(jìn)行矢量化運(yùn)算時(shí),要求數(shù)組的形狀是相等的。當(dāng)形狀不相等的數(shù)組執(zhí)行算術(shù)運(yùn)算的時(shí)候,就會(huì)出現(xiàn)廣播機(jī)制,該機(jī)制會(huì)對數(shù)組進(jìn)行擴(kuò)展,使數(shù)組的shape屬性值一樣,這樣就可以進(jìn)行矢量化運(yùn)算了。下面來看一個(gè)例子。

數(shù)組廣播機(jī)制.jpg

  上述代碼中,數(shù)組arr1的shape是(4,1),arr2的shape是(3,),這兩個(gè)數(shù)組要是進(jìn)行相加,按照廣播機(jī)制會(huì)對數(shù)組arr1和arr2都進(jìn)行擴(kuò)展,使得數(shù)組arr1和arr2的shape都變成(4,3)。

  下面通過一張圖來描述廣播機(jī)制擴(kuò)展數(shù)組的過程,具體如圖2-2所示。

數(shù)組的廣播機(jī)制過程.jpg

  圖1-1 數(shù)組廣播機(jī)制

  注意:廣播機(jī)制實(shí)現(xiàn)了對兩個(gè)或兩個(gè)以上數(shù)組的運(yùn)算,即使這些數(shù)組的shape不是完全相同的,只需要滿足如下任意一個(gè)條件即可。

  (1)數(shù)組的某一維度等長。

  (2)其中一個(gè)數(shù)組的某一維度為1.

  廣播機(jī)制需要擴(kuò)展維度小的數(shù)組,使得它與維度最大的數(shù)組的shape值相同,以便使用元素級(jí)函數(shù)或者運(yùn)算符進(jìn)行運(yùn)算。

和我們在線交談!