numpy數(shù)組的維度、軸及運(yùn)用詳解
1 numpy數(shù)組的維度是什么?如何表示數(shù)組維度?
1.1 什么是維度?
數(shù)組的維度指的是:numpy數(shù)組有多少維(維數(shù)),每一維含有多少個元素(每個維度的長度)。
例如,下面的代碼將創(chuàng)建numpy數(shù)組a,它的維數(shù)為2,其兩個維度的長度分別為2,3。
import numpy as np a = np.random.random((2, 3)) print(a)
輸出結(jié)果為:
[[0.84652457 0.03409538 0.31859533]
[0.19512509 0.05466214 0.57174816]]
1.2 如何表示維度?
用一個元組(tuple)來描述維度。例如,上面示例中的數(shù)組a的維度的表示如下:
(2,3)
其中,2表示第1個維度的長度,3表示第2個維度的長度。
這個元組的長度就是數(shù)組a的維數(shù)(為2),2和3分別表示a的第1個維度和第2個維度的長度。
要訪問numpy數(shù)組a的維度,代碼如下:
a.shape
2 numpy數(shù)組的軸(axis)是什么?
2.1 數(shù)組的軸的定義
numpy數(shù)組的某個軸,指的是:該數(shù)組的某個維度的方向,其方向從索引號由底到高。許多numpy方法或函數(shù)在調(diào)用時(shí),常常需要指定一個關(guān)鍵參數(shù)“axis=X”,它表示的是沿哪個軸的方向進(jìn)行運(yùn)算(例如,求均值,方差等),這里的X表示的是軸的索引號(axis=0表示軸0,axis=1表示軸1,...,依此類推)。
2.2二維數(shù)組的軸如何理解?
以維度為(2,3)的二維數(shù)組為例:它有2個維度,因此,它的軸有2個,分別為軸0(軸的長度為2)、軸1(軸的長度為3),這個數(shù)組的軸的示意圖如圖 1所示。

圖 1 數(shù)組的軸的理解示意圖
2.3 三維數(shù)組的軸如何理解?
以維度為(3,4,5)的三維數(shù)組為例:它有3個維度,因此,它的軸有3個,即:“軸0”、“軸1”、“軸2”。
從軸0上看,該數(shù)組包含3個元素,進(jìn)入到軸0中的任何1個元素的空間中,可以看到,這個元素又包含兩個軸,對應(yīng)于三維數(shù)組的軸1和軸2.
3. 數(shù)組的軸的應(yīng)用
3.1 應(yīng)用1:簡單數(shù)組統(tǒng)計(jì)
沿軸1方向求軸0上每一個元素的均值:
a.mean(axis=1)
沿軸0方向求軸1上每一個元素的均值:
a.mean(axis=0)
可見,a.mean中的axis=x表示沿軸x的方向,求剩余的軸上的每一個元素的均值。其結(jié)果的維度肯定是剩余軸構(gòu)成的維度。
3.2 應(yīng)用2:圖像批處理
求一批RGB圖像(N個圖像,每個圖像高度和寬度都為H和W)的每一個通道的平均值。
第1步:如何表示這一批圖像?
一幅RGB圖像的1個通道的數(shù)據(jù)可表示為一個(H,W)的數(shù)組,現(xiàn)在有3個通道,因此,一幅RGB圖像可以用維度為(3,H,W)的數(shù)組來表示,而N幅圖像則可以用維度為(N,3,H,W)的數(shù)組來表示。因此,首先,將這批圖像放入一個維度為:
(N,3,H,W)的數(shù)組A進(jìn)行存儲。
第2步:如何分別求這一批圖像的3個通道的均值?
在維度為(N,3,H,W)數(shù)組中,通道對應(yīng)的軸為“軸1”,求3個通道的均值,就是沿除 “軸1”以外的其他所有軸的方向求“軸1”的每一個元素的均值,代碼如下:
A.mean(axis=(0,2,3))
到此這篇關(guān)于numpy數(shù)組的維度、軸及運(yùn)用詳解的文章就介紹到這了,更多相關(guān)數(shù)組的維度和軸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)郵件自動下載的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)郵件自動下載以及附件解析功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-07-07
Scrapy框架爬取西刺代理網(wǎng)免費(fèi)高匿代理的實(shí)現(xiàn)代碼
今天小編就為大家分享一篇關(guān)于Scrapy框架爬取西刺代理網(wǎng)免費(fèi)高匿代理的實(shí)現(xiàn)代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02
pytorch1.0中torch.nn.Conv2d用法詳解
今天小編就為大家分享一篇pytorch1.0中torch.nn.Conv2d用法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
python神經(jīng)網(wǎng)絡(luò)Keras實(shí)現(xiàn)GRU及其參數(shù)量
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Keras實(shí)現(xiàn)GRU及其參數(shù)量,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

