欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于Python中兩個(gè)不同shape的數(shù)組間運(yùn)算規(guī)則

 更新時(shí)間:2023年08月24日 08:48:15   作者:little_fat_sheep  
這篇文章主要介紹了關(guān)于Python中兩個(gè)不同shape的數(shù)組間運(yùn)算規(guī)則,眾所周知,相同?shape?的兩個(gè)數(shù)組間運(yùn)算是指兩個(gè)數(shù)組的對(duì)應(yīng)元素相加,我們經(jīng)常會(huì)碰到一些不同?shape?的數(shù)組間運(yùn)算,需要的朋友可以參考下

1 數(shù)組間運(yùn)算

聲明:本博客討論的數(shù)組間運(yùn)算是指四則運(yùn)算,如:a+b、a-b、a*b、a/b,不包括 a.dot(b) 等運(yùn)算,由于 numpy 和 tensorflow 中都遵循相同的規(guī)則,本博客以 numpy 為例。

眾所周知,相同 shape 的兩個(gè)數(shù)組間運(yùn)算是指兩個(gè)數(shù)組的對(duì)應(yīng)元素相加。我們經(jīng)常會(huì)碰到一些不同 shape 的數(shù)組間運(yùn)算。

那么,任何兩個(gè)不同 shape 的數(shù)組都能運(yùn)算么?又遵循什么樣的運(yùn)算規(guī)則?

shape 與維數(shù):

如 a:[1,2,3],則 shape=(3, ),維數(shù)為1;b:[[1,2,3],[4,5,6]],則shape=(2,3),維數(shù)為2

運(yùn)算條件:

設(shè)a為低維數(shù)組,b為高維數(shù)組,則a和b能運(yùn)算的充分條件是:a.shape[-1]=b.shape[-1]、a.shape[-2]= b.shape[-2]、...(a可以作為b的一個(gè)元素),或者 a.shape=(m,1)(或a.shape=(m, )) 且b.shape=(1,n) (a為行向量,b為列向量)

運(yùn)算規(guī)則:

  • 當(dāng)a為數(shù)字時(shí),將a與b的每個(gè)元素運(yùn)算,運(yùn)算后的 shape 與b相同當(dāng)
  • a可以作為b的一個(gè)元素,將a與b中每個(gè)相同 shape 的子元素運(yùn)算,運(yùn)算后的 shape 與b相同
  • 當(dāng)a為行向量b為列向量時(shí),將a中每個(gè)元素與b中每個(gè)元素分別運(yùn)算,運(yùn)算后的 shape=(a.shape[1], b.shape[0])

如需改變數(shù)組 shape,可調(diào)用 reshape() 函數(shù),如下:

a=np.array([[1,1],[2,2],[3,3]])
b=a.reshape([-1,1]) #a.shape=(3,2),b.shape=(6,1)

2 實(shí)驗(yàn)

數(shù)組與數(shù)字之間的運(yùn)算

a=np.array([1,1,1])
b=np.array([[1,1,1],[2,2,2]])
c=a+1
d=b+1
print("c=a+1\n",c)
print("d=b+1\n",d)

輸出
c=a+1
 [2 2 2]
d=b+1
 [[2 2 2]
 [3 3 3]]

補(bǔ)充:shape=(1, ) 的數(shù)組可以與任意 shape 的數(shù)組運(yùn)算,運(yùn)算規(guī)則同數(shù)字與數(shù)組的運(yùn)算。

行向量與列向量之間的運(yùn)算

a=np.array([[1,2,3]]) #或 a=np.array([1,2,3])
b=np.array([[1],[2],[3],[4],[5]])
c=a+b
print("c=a+b",c)

輸出
c=a+b
[[2 3 4]
 [3 4 5]
 [4 5 6]
 [5 6 7]
 [6 7 8]]

1維數(shù)組與高維數(shù)組之間的運(yùn)算

a=np.array([1,1,1])
b=np.array([[1,1,1],[2,2,2]])
c=np.array([[1,1,1],[2,2,2],[3,3,3]])
d=a+b
e=a+c
print("d=a+b\n",d)
print("e=a+c\n",e)

d=a+b
 [[2 2 2]
 [3 3 3]]
e=a+c
 [[2 2 2]
 [3 3 3]
 [4 4 4]]

高維數(shù)組之間的運(yùn)算

a=np.array([[1,1,1],[2,2,2]])
b=np.array([[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]])
c=a+b
print("c=a+b\n",c)

c=a+b
 [[[2 2 2]
  [4 4 4]]
 [[4 4 4]
  [6 6 6]]]

到此這篇關(guān)于關(guān)于Python中兩個(gè)不同shape的數(shù)組間運(yùn)算規(guī)則的文章就介紹到這了,更多相關(guān)Python兩個(gè)不同shape的數(shù)組內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python中的sys模塊和os模塊

    python中的sys模塊和os模塊

    這篇文章主要介紹了python中的sys模塊和os模塊,sys模塊提供對(duì)解釋器使用或維護(hù)的一些變量的訪問(wèn),以及與解釋器強(qiáng)烈交互的函數(shù),os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù),下文更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • Python使用廣度優(yōu)先搜索遍歷混亂地鐵問(wèn)題

    Python使用廣度優(yōu)先搜索遍歷混亂地鐵問(wèn)題

    這篇文章主要介紹了Python使用廣度優(yōu)先搜索遍歷混亂地鐵問(wèn)題,廣度優(yōu)先搜索算法(又稱(chēng)寬度優(yōu)先搜索)是最簡(jiǎn)便的圖的搜索算法之一,這一算法也是很多重要的圖的算法的原型,需要的朋友可以參考下
    2023-04-04
  • 在Lighttpd服務(wù)器中運(yùn)行Django應(yīng)用的方法

    在Lighttpd服務(wù)器中運(yùn)行Django應(yīng)用的方法

    這篇文章主要介紹了在Lighttpd服務(wù)器中運(yùn)行Django應(yīng)用的方法,本文所采用的是最流行的FastCGI模塊,包括同時(shí)運(yùn)行多個(gè)Django應(yīng)用的方法,需要的朋友可以參考下
    2015-07-07
  • 深入理解Django中內(nèi)置的用戶(hù)認(rèn)證

    深入理解Django中內(nèi)置的用戶(hù)認(rèn)證

    Django自帶一個(gè)用戶(hù)認(rèn)證系統(tǒng),這個(gè)系統(tǒng)處理用戶(hù)帳戶(hù)、組、權(quán)限和基于cookie的會(huì)話(huà),下面這篇文章就來(lái)給大家介紹了關(guān)于Django中內(nèi)置的用戶(hù)認(rèn)證的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-10-10
  • 用Python的Django框架來(lái)制作一個(gè)RSS閱讀器

    用Python的Django框架來(lái)制作一個(gè)RSS閱讀器

    這篇文章主要介紹了用Python的Django框架來(lái)制作一個(gè)RSS閱讀器,通過(guò)url feeds來(lái)制作訂閱類(lèi)應(yīng)用同樣是Django之所長(zhǎng),需要的朋友可以參考下
    2015-07-07
  • python抓取skywalking中超過(guò)2s的告警接口

    python抓取skywalking中超過(guò)2s的告警接口

    這篇文章主要為大家介紹了python抓取skywalking中超過(guò)2s的告警接口詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Python中幾種屬性訪問(wèn)的區(qū)別與用法詳解

    Python中幾種屬性訪問(wèn)的區(qū)別與用法詳解

    這篇文章主要給大家介紹了關(guān)于Python中幾種屬性訪問(wèn)的區(qū)別和用法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • python使用隱式循環(huán)快速求和的實(shí)現(xiàn)示例

    python使用隱式循環(huán)快速求和的實(shí)現(xiàn)示例

    這篇文章主要介紹了python使用隱式循環(huán)快速求和的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python基于隱馬爾可夫模型實(shí)現(xiàn)中文拼音輸入

    python基于隱馬爾可夫模型實(shí)現(xiàn)中文拼音輸入

    這篇文章主要介紹了python基于隱馬爾可夫模型實(shí)現(xiàn)中文拼音輸入的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • pytest內(nèi)置fixture使用臨時(shí)目錄流程詳解

    pytest內(nèi)置fixture使用臨時(shí)目錄流程詳解

    fixture是在測(cè)試函數(shù)運(yùn)行前后,由pytest執(zhí)行的外殼函數(shù)。fixture中的代碼可以定制,滿(mǎn)足多變的測(cè)試需求,包括定義傳入測(cè)試中的數(shù)據(jù)集、配置測(cè)試前系統(tǒng)的初始狀態(tài)、為批量測(cè)試提供數(shù)據(jù)源等等。fixture是pytest的精髓所在
    2022-12-12

最新評(píng)論