numpy數(shù)組的維度、軸及運用詳解
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)
輸出結果為:
[[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ù)在調用時,常常需要指定一個關鍵參數(shù)“axis=X”,它表示的是沿哪個軸的方向進行運算(例如,求均值,方差等),這里的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個元素,進入到軸0中的任何1個元素的空間中,可以看到,這個元素又包含兩個軸,對應于三維數(shù)組的軸1和軸2.
3. 數(shù)組的軸的應用
3.1 應用1:簡單數(shù)組統(tǒng)計
沿軸1方向求軸0上每一個元素的均值:
a.mean(axis=1)
沿軸0方向求軸1上每一個元素的均值:
a.mean(axis=0)
可見,a.mean中的axis=x表示沿軸x的方向,求剩余的軸上的每一個元素的均值。其結果的維度肯定是剩余軸構成的維度。
3.2 應用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進行存儲。
第2步:如何分別求這一批圖像的3個通道的均值?
在維度為(N,3,H,W)數(shù)組中,通道對應的軸為“軸1”,求3個通道的均值,就是沿除 “軸1”以外的其他所有軸的方向求“軸1”的每一個元素的均值,代碼如下:
A.mean(axis=(0,2,3))
到此這篇關于numpy數(shù)組的維度、軸及運用詳解的文章就介紹到這了,更多相關數(shù)組的維度和軸內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何實現(xiàn)更換Jupyter Notebook內核Python版本
這篇文章主要介紹了如何實現(xiàn)更換Jupyter Notebook內核Python版本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05Python??Flask框架操作數(shù)據(jù)庫的方法
Flask中最方便用的數(shù)據(jù)庫框架是flask_sqlalchamy,是對?SQLAlchamy?在?Flask?中的擴展,它主要在于簡化Flask?中?sqlalchamy的使用,本篇文章給大家介紹Python??Flask的數(shù)據(jù)庫操作使用方法,感興趣的朋友一起看看吧2024-02-02Python pypinyin注音庫輕松絲滑實現(xiàn)漢字轉換成拼音
pypinyin 庫,能像功夫熊貓那樣,輕松、快捷地幫你把漢字轉換成拼音,有了 pypinyin,不僅可以節(jié)省寶貴的時間,還可以更準確地展示中文字符的讀音,使文化交流更為順暢,本文帶大家一起探索 pypinyin 庫的魅力2024-01-01