關(guān)于numpy兩個(gè)array疊加操作詳解
numpy中有很多關(guān)于兩個(gè)array的操作,疊加方式以及疊加后的維度經(jīng)常令人迷惑,這篇文章總價(jià)一下。
一、 疊加操作
1.add
逐元素操作,若是array + 常量會(huì)廣播到每個(gè)元素,若是array + array則要求兩個(gè)array的shape一致。
end = '\n'+'*'*50+'\n' a = np.array([[1,2],[3,4]]) b = np.array([[5,6], [7,8]]) print(a+1, end=end) print(a+b)
輸出:
[[2 3]
[4 5]]
**************************************************
[[ 6 8]
[10 12]]
2.concatenate
在指定維度將兩個(gè)array進(jìn)行拼接,不會(huì)改變array的維度,要求兩個(gè)array的維度相同,且在指定的拼接維度的array size也必須相等,值得注意的是,兩個(gè)array的shape不一定一致,比較拗口,看下例子:
end = '\n'+'*'*50+'\n' a = np.array([[1,2],[3,4]]) b = np.array([[5,6], [7,8]]) c = np.array([[5,6]]) d = np.array([5,6]) f = np.array([[5]])

a & c 的shape并不相同:

維度不一致:

長度不一致:

3.stack & hstack
stack 在垂直方向上拼接兩個(gè)array(可以指定axis),要求兩個(gè)array的shape嚴(yán)格一致,結(jié)果會(huì)增加維度;
hstack 在水平方向(第0維,不可制定axis)拼接兩個(gè)array,要求兩者的維度相同,且在第0維的size也相同,拼接結(jié)果不改變?cè)芯S度 。
stack:結(jié)果會(huì)在原有維度的基礎(chǔ)上加1

hstack,a和c在0軸的size不同:

hstack,轉(zhuǎn)置后正常拼接:

二、 size & ndim & shape
這三個(gè)概念很容易搞混,其中:
size:指的是“元素個(gè)數(shù)”;ndim:維度,指的是“有多少層嵌套”,即中括號(hào)個(gè)數(shù),同時(shí)和shape的len相等,axis=0指的是最外層中括號(hào),往里依次遞增;shape:size和ndim綜合起來就是shape,兩個(gè)array的shape相同則意味著兩者的ndim相同且在每一個(gè)axis上的size也相同。
看下例子:

值得注意的是,ndim和size以及shape沒有必然聯(lián)系,一個(gè)ndim不為0的array可能一個(gè)元素也沒有:

size相同,shape和ndim也不一定相同:

總結(jié)
到此這篇關(guān)于numpy兩個(gè)array疊加操作的文章就介紹到這了,更多相關(guān)numpy兩個(gè)array疊加內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django用數(shù)據(jù)庫表反向生成models類知識(shí)點(diǎn)詳解
在本篇文章里小編給大家分享的是關(guān)于Django用數(shù)據(jù)庫表反向生成models類知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以參考下。2020-03-03
Python編程實(shí)現(xiàn)使用線性回歸預(yù)測(cè)數(shù)據(jù)
這篇文章主要介紹了Python編程實(shí)現(xiàn)使用線性回歸預(yù)測(cè)數(shù)據(jù),具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12
聊聊python在linux下與windows下導(dǎo)入模塊的區(qū)別說明
這篇文章主要介紹了聊聊python在linux下與windows下導(dǎo)入模塊的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
python的鏈表基礎(chǔ)知識(shí)點(diǎn)
在本篇文章里小編給大家整理的是一篇關(guān)于python的鏈表基礎(chǔ)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以參考學(xué)習(xí)下。2020-09-09
基于Python的ModbusTCP客戶端實(shí)現(xiàn)詳解
這篇文章主要介紹了基于Python的ModbusTCP客戶端實(shí)現(xiàn)詳解,Modbus Poll和Modbus Slave是兩款非常流行的Modbus設(shè)備仿真軟件,支持Modbus RTU/ASCII和Modbus TCP/IP協(xié)議 ,經(jīng)常用于測(cè)試和調(diào)試Modbus設(shè)備,觀察Modbus通信過程中的各種報(bào)文,需要的朋友可以參考下2019-07-07
使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名
這篇文章主要介紹了如何使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02

