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