NumPy學習筆記03 陣列屬性

2021-09-28 18:15:29 字數 2762 閱讀 8217

numpy陣列的維數稱為秩(rank),一維陣列的秩為 1,二維陣列的秩為 2,以此類推。

numpy 的陣列中比較重要 ndarray 物件屬性有

屬性說明

ndarray.ndim

秩,即軸的數量或維度的數量

ndarray.shape

陣列的維度,對於矩陣,n行m列

ndarray.size

陣列元素的總個數,相當於 .shape中n * m的值

ndarray.dtype

ndarray物件的元素型別

ndarray.itemsize

ndarray物件中每個元素的大小,以位元組為單位

ndarray.flags

ndarray物件的記憶體資訊

ndarray.real

ndarray元素的實部

ndarray.imag

ndarray元素的虛部

ndarray.data

包含實際陣列元素的緩衝區,由於一般通過陣列的索引獲取元素,所以通常不需要使用這個屬性

ndarray.ndim 用於返回陣列的維數,等於秩。

import numpy as np

a = np.arange(24)

print(a.ndim) # a 只有乙個維度

# 調整其大小

b = a.reshape(2,4,3) # 有三個維度

print(b.ndim)

1

3

ndarray.shape

ndarray.shape表示陣列的維度,返回乙個元組,這個元組的長度就是維度的數目,即ndim屬性(秩)。比如乙個二維陣列,其維度表示「行數」和「列數」

ndarray.shape也可以調整陣列的大小

import numpy as np

a = np.array([[1,2,3],[4,5,6]])

print(a.shape)

(2, 3)
# 調整陣列的大小

import numpy as np

a = np.array([[1,2,3],[4,5,6]])

a.shape = (3,2)

print(a)

[[1 2]

[3 4]

[5 6]]

numpy 也提供了 reshape 函式來調整陣列大小.

import numpy as np

a = np.array([[1,2,3],[4,5,6]])

b = a.reshape(3,2)

print(b)

[[1 2]

[3 4]

[5 6]]

ndarray.itemsize

ndarray.itemsize 以位元組的形式返回陣列中每乙個元素的大小。

例如,乙個元素型別為 float64 的陣列 itemsize 屬性值為 8(float64 占用 64 個 bits,每個位元組長度為 8,所以 64/8,占用 8 個位元組),又如,乙個元素型別為 complex32 的陣列 item 屬性為 4(32/8)。

import numpy as np

# 陣列的 dtype 為 int8(乙個位元組)

x = np.array([1,2,3,4,5], dtype = np.int8)

print (x.itemsize)

# 陣列的 dtype 現在為 float64(八個位元組)

y = np.array([1,2,3,4,5], dtype = np.float64)

print (y.itemsize)

1

8

ndarray.flags

ndarray.flags 返回 ndarray 物件的記憶體資訊,包含以下屬性:

屬性描述

資料是在乙個單一的c風格的連續段中

f_contiguous (f)

資料是在乙個單一的fortran風格的連續段中

owndata (o)

陣列擁有它所使用的記憶體或從另乙個物件中借用它

writeable (w)

資料區域可以被寫入,將該值設定為 false,則資料為唯讀

aligned (a)

資料和所有元素都適當地對齊到硬體上

updateifcopy (u)

這個陣列是其它陣列的乙個副本,當這個陣列被釋放時,原陣列的內容將被更新

import numpy as np 

x = np.array([1,2,3,4,5])

print (x.flags)

c_contiguous : true

f_contiguous : true

owndata : true

writeable : true

aligned : true

writebackifcopy : false

updateifcopy : false

學習參考:

Numpy學習筆記(四)陣列屬性

一 陣列屬性 usr bin env python coding utf 8 author jia666 time 2021 2 20 16 44 import numpy as np a np.array 1,2,3 4,5,6 7,8,9 todo 1 檢視a的值 print a 1 2 3 4...

NumPy學習筆記(1)陣列和屬性

numpy的基本物件是np陣列,使用專用的資料結構來儲存數值,在科學計算的效率上要優於原始的python 下面記錄關於np陣列的一些基本操作。使用array 函式 array np.array 1,2,3 2,3,4 可用這兩個引數指定生成陣列的維度和元素型別 dtype datatype ndmi...

Numpy陣列學習筆記

1 x 0 是numpy中陣列的一種寫法,表示對乙個二維陣列,取該二維陣列第一維中的所有資料,第二維中取第0個資料,直觀來說,x 0 就是取所有行的第0個資料,x 1 就是取所有行的第1個資料。2 二維陣列索引訪問的例子 產生1 9的數 in 28 arr2d np.arange 1,10 resh...