關(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)文章
Python從使用線程到使用async/await的深入講解
Python在3.5版本中引入了關(guān)于協(xié)程的語法糖async和await,所以下面這篇文章主要給大家介紹了關(guān)于Python從使用線程到使用async/await的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-09-09
利用Django框架中select_related和prefetch_related函數(shù)對數(shù)據(jù)庫查詢優(yōu)化
這篇文章主要介紹了利用Python的Django框架中select_related和prefetch_related函數(shù)對數(shù)據(jù)庫查詢的優(yōu)化的一個實踐例子,展示如何在實際中利用這兩個函數(shù)減少對數(shù)據(jù)庫的查詢次數(shù),需要的朋友可以參考下2015-04-04

