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)
輸出結(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)用時,常常需要指定一個關(guān)鍵參數(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個元素的空間中,可以看到,這個元素又包含兩個軸,對應(yīng)于三維數(shù)組的軸1和軸2.
3. 數(shù)組的軸的應(yīng)用
3.1 應(yīng)用1:簡單數(shù)組統(tǒng)計
沿軸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進行存儲。
第2步:如何分別求這一批圖像的3個通道的均值?
在維度為(N,3,H,W)數(shù)組中,通道對應(yīng)的軸為“軸1”,求3個通道的均值,就是沿除 “軸1”以外的其他所有軸的方向求“軸1”的每一個元素的均值,代碼如下:
A.mean(axis=(0,2,3))
到此這篇關(guān)于numpy數(shù)組的維度、軸及運用詳解的文章就介紹到這了,更多相關(guān)數(shù)組的維度和軸內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何實現(xiàn)更換Jupyter Notebook內(nèi)核Python版本
這篇文章主要介紹了如何實現(xiàn)更換Jupyter Notebook內(nèi)核Python版本,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧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)漢字轉(zhuǎn)換成拼音
pypinyin 庫,能像功夫熊貓那樣,輕松、快捷地幫你把漢字轉(zhuǎn)換成拼音,有了 pypinyin,不僅可以節(jié)省寶貴的時間,還可以更準(zhǔn)確地展示中文字符的讀音,使文化交流更為順暢,本文帶大家一起探索 pypinyin 庫的魅力2024-01-01pygame學(xué)習(xí)筆記(1):矩形、圓型畫圖實例
這篇文章主要介紹了pygame學(xué)習(xí)筆記(1):矩形、圓型畫圖實例,本文講解了pygame窗口、窗口退出、pygame中的顏色、圓形、矩形及一個完整實例,需要的朋友可以參考下2015-04-04python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法
這篇文章主要介紹了python關(guān)于矩陣重復(fù)賦值覆蓋問題的解決方法,涉及Python深拷貝與淺拷貝相關(guān)操作與使用技巧,需要的朋友可以參考下2019-07-07Python小紅書旋轉(zhuǎn)驗證碼識別實戰(zhàn)教程
這篇文章主要介紹了Python小紅書旋轉(zhuǎn)驗證碼識別實戰(zhàn)教程,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-08-08