關(guān)于Numpy中數(shù)組維度的理解
一、數(shù)組中的各個(gè)維度表示的是什么?
為了便于理解,用單位體表示,剝?nèi)ヒ粚又欣ㄌ?hào)后,得到的數(shù)據(jù)。
1. 以二維數(shù)組為例
import numpy as np np.random.seed(0) arr2 = np.random.randint(0,9,size=(4,3)) print(arr2)
[[5 0 3]
[3 7 3]
[5 2 4]
[7 6 8]]
這個(gè)二維數(shù)組,總共有兩層中括號(hào)。在剝?nèi)プ钔鈱拥闹欣ㄌ?hào)后,是4個(gè)長度為3的一維數(shù)組: [5 0 3],[3 7 3],[5 2 4],[7 6 8] 。拿任意一個(gè)單位體舉例,如 [5 0 3] ,剝?nèi)ブ欣ㄌ?hào),是3個(gè)單位體 5,0,3 .
2. 以3維數(shù)組舉例
arr2 = np.random.randint(0,9,size=(2,4,3))
[[[5 0 3]
[3 7 3]
[5 2 4]
[7 6 8]][[8 1 6]
[7 7 8]
[1 5 8]
[4 3 0]]]
這個(gè)三維數(shù)組,總共有三層中括號(hào)。在剝?nèi)プ钔鈱拥闹欣ㄌ?hào)后,是2個(gè)(4,3)的數(shù)組(綠色方框表示的):
后面就和二維數(shù)組的表示方法相同。 數(shù)組剝?nèi)プ钔鈱又欣ㄌ?hào)后,得到的單位體的個(gè)數(shù)表示第0個(gè)維度( axis=0 )的大小,次外層就是第二個(gè)維度( axis=1 )的大小,以此類推。
二、數(shù)組中按維度計(jì)算
二維數(shù)組中按維度求和
arr.sum(axis=0)
數(shù)組是尺寸是(4,3),按第0個(gè)維度求和后,維度為 (3,)
arr.sum(axis=1)
維數(shù)組按維度求和
1 axis=0
數(shù)組是尺寸是(2,4,3),按第0個(gè)維度求和后,維度為 (4,3) .兩個(gè)(4,3)的矩陣,對應(yīng)位置上的元素求和。 剝?nèi)プ钔鈱又欣ㄌ?hào)后的單位體上對應(yīng)元素求和
2 axis=1
過程: 數(shù)組是尺寸是(2,4,3),剝?nèi)プ钔鈱拥闹欣ㄌ?hào),是兩個(gè)單位體(4,3)——最外層單位體。兩個(gè)單位體再剝?nèi)ヒ粚又欣ㄌ?hào),得到4個(gè)(3,)的數(shù)組——次外層單位體。每個(gè)最外層單位體內(nèi)的次外層單位體上相應(yīng)位置的元素分別相加。 尺寸是(2,4,3)按 axis=1 相加后,得到的結(jié)果的尺寸是 (2,3)
3 axis=2
依照上面的做法,axis=?就將中括號(hào)剝到第幾層,然后對應(yīng)位置上的元素相加。
過程: 數(shù)組是尺寸是(2,4,3),剝?nèi)プ钔鈱拥闹欣ㄌ?hào),是兩個(gè)單位體(4,3)——最外層單位體。兩個(gè)單位體再剝?nèi)ヒ粚又欣ㄌ?hào),得到4個(gè)(3,)的數(shù)組——次外層單位體。4個(gè)單位體再剝?nèi)プ钔鈱拥闹欣ㄌ?hào),得到3個(gè)次次單位體——標(biāo)量。
axis = 2 print('*'*10,' axis = %a'%(axis),'*'*10)# 這種格式輸出方式 print(arr.sum(axis=axis))
到此這篇關(guān)于關(guān)于Numpy中數(shù)組維度的理解的文章就介紹到這了,更多相關(guān)Numpy中數(shù)組維度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python+OpenCV實(shí)現(xiàn)圖像二值化
圖像二值化就是將圖像上的像素點(diǎn)的灰度值設(shè)置為0或255,也就是將整個(gè)圖像呈現(xiàn)出明顯的黑白效果的過程。本文將通過Python+OpenCV實(shí)現(xiàn)這一過程,感興趣的可以學(xué)習(xí)一下2022-05-05jupyter 使用Pillow包顯示圖像時(shí)inline顯示方式
這篇文章主要介紹了jupyter 使用Pillow包顯示圖像時(shí)inline顯示方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python操作PostgreSQL數(shù)據(jù)庫的基本方法(增刪改查)
PostgreSQL數(shù)據(jù)庫是最常用的關(guān)系型數(shù)據(jù)庫之一,最吸引人的一點(diǎn)是它作為開源數(shù)據(jù)庫且具有可拓展性,能夠提供豐富的應(yīng)用,這篇文章主要給大家介紹了關(guān)于Python操作PostgreSQL數(shù)據(jù)庫的基本方法,文中介紹了連接PostgreSQL數(shù)據(jù)庫,以及增刪改查,需要的朋友可以參考下2023-09-09django 連接數(shù)據(jù)庫出現(xiàn)1045錯(cuò)誤的解決方式
這篇文章主要介紹了django 連接數(shù)據(jù)庫出現(xiàn)1045錯(cuò)誤的解決方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Python使用QRCode模塊生成二維碼實(shí)例詳解
這篇文章主要介紹了Python使用QRCode模塊生成二維碼實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06Django利用Channels+websocket開發(fā)聊天室完整案例
Channels是Django團(tuán)隊(duì)研發(fā)的一個(gè)給Django提供websocket支持的框架,使用它我們可以輕松開發(fā)需要長鏈接的實(shí)時(shí)通訊應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于Django利用Channels+websocket開發(fā)聊天室的相關(guān)資料,需要的朋友可以參考下2023-06-06jupyter notebook運(yùn)行命令顯示[*](解決辦法)
這篇文章主要介紹了jupyter notebook運(yùn)行命令顯示[*],文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05spark?dataframe全局排序id與分組后保留最大值行
這篇文章主要為大家介紹了spark?dataframe全局排序id與分組后保留最大值行實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02