關(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并不相同:
維度不一致:
長(zhǎng)度不一致:
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綜合起來(lái)就是shape,兩個(gè)array的shape相同則意味著兩者的ndim相同且在每一個(gè)axis上的size也相同。
看下例子:
值得注意的是,ndim和size以及shape沒(méi)有必然聯(lián)系,一個(gè)ndim不為0的array可能一個(gè)元素也沒(méi)有:
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ù)庫(kù)表反向生成models類知識(shí)點(diǎn)詳解
在本篇文章里小編給大家分享的是關(guān)于Django用數(shù)據(jù)庫(kù)表反向生成models類知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以參考下。2020-03-03Python socket處理client連接過(guò)程解析
這篇文章主要介紹了Python socket處理client連接過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python編程實(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ū)別說(shuō)明
這篇文章主要介紹了聊聊python在linux下與windows下導(dǎo)入模塊的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03python使用cookie庫(kù)操保存cookie詳解
Python中Cookie模塊(python3中為http.cookies)提供了一個(gè)類似字典的特殊對(duì)象SimpleCookie,其中存儲(chǔ)并管理著稱為Morsel的cookie值集合,這里介紹了python操作cookie的使用方法2014-03-03python的鏈表基礎(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通信過(guò)程中的各種報(bào)文,需要的朋友可以參考下2019-07-07解決keras使用cov1D函數(shù)的輸入問(wèn)題
這篇文章主要介紹了解決keras使用cov1D函數(shù)的輸入問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名
這篇文章主要介紹了如何使用Python爬取最好大學(xué)網(wǎng)大學(xué)排名,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02