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

關(guān)于numpy兩個(gè)array疊加操作詳解

 更新時(shí)間:2022年08月03日 14:39:29   作者:驚瑟  
numpy是Python用來(lái)科學(xué)計(jì)算的一個(gè)非常重要的庫(kù),numpy主要用來(lái)處理一些矩陣對(duì)象,可以說(shuō)numpy讓Python有了Matlab的味道,下面這篇文章主要給大家介紹了關(guān)于numpy兩個(gè)array疊加操作的相關(guān)資料,需要的朋友可以參考下

numpy中有很多關(guān)于兩個(gè)array的操作,疊加方式以及疊加后的維度經(jīng)常令人迷惑,這篇文章總價(jià)一下。

一、 疊加操作

1.add

逐元素操作,若是array + 常量會(huì)廣播到每個(gè)元素,若是array + array則要求兩個(gè)arrayshape一致。

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)文章

最新評(píng)論