Numpy數(shù)組的廣播機(jī)制的實(shí)現(xiàn)
前言
Numpy數(shù)組不需要循環(huán)遍歷,即可對(duì)每個(gè)元素執(zhí)行批量的算術(shù)運(yùn)算操作(矢量化運(yùn)算)。當(dāng)兩個(gè)數(shù)組大小(Numpy.shape)不同時(shí),進(jìn)行算術(shù)運(yùn)算會(huì)出現(xiàn)廣播機(jī)制。
數(shù)組廣播
數(shù)組在進(jìn)行矢量化運(yùn)算的時(shí),要求數(shù)組形狀時(shí)相等的。當(dāng)形狀不等的數(shù)組執(zhí)行算術(shù)運(yùn)算的時(shí)候,就會(huì)出現(xiàn)廣播機(jī)制,該機(jī)制會(huì)對(duì)數(shù)組進(jìn)行擴(kuò)展,使數(shù)組的shape屬性值一樣,就可以進(jìn)行矢量化運(yùn)算了。
import numpy as np arr1 = np.array([[0], [1], [2], [3]]) print(arr1.shape) arr2 = np.array([1, 2, 3]) print(arr2.shape) val = arr2+arr1 print(val)
輸出結(jié)果
(4, 1) //arr1的shape
(3,) //arr2的shape
[[1 2 3]
[2 3 4]
[3 4 5]
[4 5 6]]
由于arr1和arr2的shape不等,故通過(guò)廣播機(jī)制進(jìn)行如下圖的擴(kuò)展
廣播機(jī)制的使用條件
1、數(shù)組的某一維度等長(zhǎng)
2、其中一個(gè)數(shù)組的某一維度為1
到此這篇關(guān)于Numpy數(shù)組的廣播機(jī)制的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Numpy數(shù)組的廣播機(jī)制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用python實(shí)現(xiàn)CNN-GRU故障診斷的代碼示例
這篇文章主要給大家詳細(xì)介紹了如何使用python實(shí)現(xiàn)CNN-GRU故障診斷,文章中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考下2023-07-07Python全局變量關(guān)鍵字global的簡(jiǎn)單使用
python中g(shù)lobal關(guān)鍵字主要作用是聲明變量的作用域,下面這篇文章主要給大家介紹了關(guān)于Python全局變量關(guān)鍵字global的簡(jiǎn)單使用,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06Pycharm安裝第三方庫(kù)時(shí)Non-zero exit code錯(cuò)誤解決辦法
這篇文章主要介紹了Pycharm安裝第三方庫(kù)時(shí)Non-zero exit code錯(cuò)誤解決辦法,最好的解決辦法可以通過(guò)“Pycharm”左下角的“Terminal”,在pycharm內(nèi)使用pip安裝,以安裝“requests”為例,需要的朋友可以參考下2023-01-01python opencv根據(jù)顏色進(jìn)行目標(biāo)檢測(cè)的方法示例
這篇文章主要介紹了python opencv根據(jù)顏色進(jìn)行目標(biāo)檢測(cè)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01python QT界面關(guān)閉線程池的線程跟隨退出完美解決方案
這篇文章主要介紹了python QT界面關(guān)閉,線程池的線程跟隨退出解決思路方法,本文給大家分享兩種方法結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11Python+Tkinter實(shí)現(xiàn)經(jīng)典井字棋小游戲
Tkinter是內(nèi)置到Python安裝包中的,只要安裝好Python之后就能import?Tkinter,而且IDLE也是用Tkinter編寫而成的。本文將用Tkinter編寫經(jīng)典的井字棋小游戲,需要的可以參考一下2022-03-03