Numpy 基於 ndarray 記憶體布局屬性

Mondo 遊戲 更新 2024-02-01

ndarray 屬性反映了陣列本身的資訊,可以通過訪問該屬性來訪問或設定陣列的內部資訊。

ndarray 屬性包括記憶體布局屬性、資料型別屬性和其他屬性。

ndarray 的記憶體布局屬性如下:

描述:

ndarray.flags 獲取 ndarray 物件的記憶體資訊,包括以下屬性:

>>import numpy as np

>arr=np.array([1,2,3])

>arr

array([1, 2, 3])

# arr.標誌來獲取陣列記憶體資訊。

>arr.flags

c_contiguous : true

f_contiguous : true

owndata : true

writeable : true

aligned : true

writebackifcopy : false

以字典的形式訪問記憶體資訊。

>arr.flags['c_contiguous']

true 通過句點 + 小寫屬性名稱訪問記憶體資訊。

>arr.flags.c_contiguous

true

描述:ndarray.ndim 獲取 numpy 陣列的維數或軸數,稱為秩。

在numpy中,每個線性陣列稱為乙個維度或乙個軸。

一維陣列的每個元素都是乙個數字或字串,其軸數為 1,最外層為乙個。

二維陣列的每個元素都是乙個一維陣列,有 2 個軸和最外層 2 個。

三維陣列的每個元素都是乙個二維陣列。 軸數為 3,謂詞最多為 3。

>>import numpy as np

乙個一維陣列,其中每個元素都是單個數字或單個字串。

>ar1=np.array([1,2,3])

乙個二維陣列,其中每個元素都是乙個數字。

>ar2=np.array([[1,2,3]])

三維陣列,其中每個元素都是乙個二維陣列。

>ar3=np.array([[1,2,3]]]

>ar1

array([1, 2, 3])

>ar2

array([[1, 2, 3]])

>ar3

array([[1, 2, 3]]]

一維陣列的軸數為 1,最外層為 1。

>ar1.ndim

二維陣列的軸數為2,最外層為2。

>ar2.ndim

三維陣列的軸數為3,最外層為3。

>ar3.ndim

描述:ndarray.shape 返回表示陣列每個軸大小的元組。

軸的大小表示相同維度的元素數。

>>import numpy as np

>ar1=np.array([1,2,3])

>ar2=np.array([[1,2,3],[5,6,7]])

>ar3=np.array([[1,2,3],[5,6,7]]]

>ar1.shape

>ar2.shape

shape 返回每個軸大小的元組。

軸的大小表示相同維度的元素數。

軸計算從外到內的大小。

最外層的三維陣列有乙個二維陣列 [[1,2,3],[5,6,7]] 具有許多元素

子外層二維陣列有兩個一維陣列 [1,2,3]、[5,6,7],元素數為 2

最內層,一維陣列有 3 個元素。

>ar3.shape

描述:ndarray.size 返回陣列中元素的總數。

>>import numpy as np

>ar1=np.array([1,2,3])

>ar2=np.array([[1,2,3],[5,6,7]])

>ar3=np.array([[1,2],[3,5]],6,7],[8,9]]]

# ndarray.size 返回陣列中元素的總數。

>ar1.size

>ar2.size

>ar3.size

描述:ndarray.ItemSize 返回元素的位元組長度(大小)。

>>import numpy as np

>ar3=np.array([[1,2],[3,5]],6,7],[8,9]]]

itemsize 返回元素的位元組長度。

>ar3.itemsize

dtype 返回元素型別,int32 為 4 個位元組。

>ar3.dtype

dtype('int32')

描述:ndarray.nbytes 返回陣列元素的總位元組長度(大小)。

使用 nbytes itemsize 獲取元素總數。

>>import numpy as np

>ar3=np.array([[1,2],[3,5]],6,7],[8,9]]]

nbytes 返回陣列元素的總位元組長度。

>ar3.nbytes

>ar3.itemsize

使用 nbytes itemsize 獲取元素總數。

>ar3.nbytes/ar3.itemsize

與尺寸相同。

>ar3.size

相關問題答案

    淺談書法基礎系列的章節

    書法基礎系列 我已經講過握筆 動筆 打結字的方法,接下來我們再講書法的布局。這樣一來,系列作品就形成了清晰的脈絡,也方便初學者翻閱查詢。書法是指在整個書法作品中,把字與字 線與線 方與面的關係進行排列和安排,並加以照顧的方法。即全部作品的 布白 法,又稱 大章法 習慣上稱點畫排列為乙個詞,乙個字的排...

    武術套路和槍械是以基本動作教授的

    作為武術器械中常見的武器之一,槍 歷來被譽為 兵器之王 在冷兵器時代,則被稱為 一寸長,一寸強 槍法種類繁多,其中流傳最廣的槍法是 楊家槍 月家槍 珞珈槍 高家槍等槍法,但最基本的動作是停槍 拿槍 刺槍。要想練好槍法,牢牢掌握基本動作是關鍵,下面就和大家分享槍法中擋槍 持槍 刺槍基本動作的要領。.擋...

    《易經八卦》根基的十二個地支

    十二個地支是我國古老的傳統年表,也是萬物的起源。個地支,即農曆個,起源於古代每月的祭祀活動,地支是古代人們用來描述月亮週期的十二個連續符號。在中華大地上,十二個地支文化的繁榮發展是值得驕傲的,也給我們的生活帶來了不少便利。現在讓我們談談地上的個分支。地上樹枝的 樹枝 就像一棵樹的樹枝,位於 地 下面...

    《基本書法系列》“雍子八法”詳解

    在學習書法的過程中,雍子的八種方法就是基礎。毋庸置疑,書法的重要性就在這裡建立起來。雍子八律的歷史和起源 自三國鐘玄創立小開法以來,到晉代,王羲之開創了新一代書法,從此,各類書法在書法 技法上,不斷規範 完善。鐘玄的正文只是在初期,到了隋朝,志永經過多年的努力,終於創作出了著名的 雍子八法 成為後世...

    中間系統到中間系統協議的基礎知識

    從今天開始,我想向大家介紹與IS IS協議相關的內容。本文主要介紹IS IS網路模型 歷史 路由器級別 區域劃分和IS IS位址。.IS IS簡介 所謂is is中間系統到中間系統,意思是中間系統到中間系統。眾所周知,TCP IP網路模型和OSI模型目前已廣泛使用。在計算機網路領域,大多數路由協議和...