第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 NumPy 入門教程 NumPy 入門教程 Numpy 數(shù)組屬性和方法

Numpy 數(shù)組屬性和方法

ndarray 對象預(yù)留了一些方法供我們調(diào)用,通過這些方法,我們可以查探到數(shù)組的一些基本信息,例如 dtype 可以查看數(shù)組的數(shù)據(jù)類型。本小節(jié)將介紹其他常用的方法,比如數(shù)組的大小、維數(shù)(秩)、元素的數(shù)據(jù)類型、每個元素的大小等等。

1. 數(shù)組的維數(shù)

1.1 ndim

數(shù)組的維數(shù),即數(shù)組的秩,用來表征數(shù)組軸的數(shù)量或維度的數(shù)量。對于行向量:

arr_1 = np.array([1,2,3])
arr_1
Out:
    array([1, 2, 3])

這是一個典型的一維數(shù)組,其秩記為 1,也就是說行向量只有一個軸(axis)。

對于二維數(shù)組:

arr_2 = np.array([[1,2,3],[4,5,6]])
arr_2
Out:
    array([[1, 2, 3],
           [4, 5, 6]])

可以把該二維數(shù)組視作是兩個一維數(shù)組組成,其秩記為 2,也就是說二維數(shù)組有兩個數(shù)據(jù)軸。

我們可以用下圖來表征數(shù)組的數(shù)據(jù)軸:

圖片描述
在 Numpy 中數(shù)據(jù)軸記為 axis,其中 axis=0 記為最外層的軸。在二維數(shù)組中對應(yīng)于列方向(即為上圖的垂直方向)。

案例

通過 ndim 來查看一維數(shù)組的秩。

arr_1.ndim
Out:
    1

通過ndim來查看二維數(shù)組的秩。

arr_2.ndim
Out:
    2

2. 數(shù)組的維度

2.1 shape

數(shù)組的維度(n,m),即數(shù)組大小,對應(yīng)于矩陣的 n 行 m 列。

通常通過 shape 來查詢數(shù)組的維度,該方法返回一個元組,這個元組的長度就是維度的數(shù)目,即 ndim 屬性(秩)。元祖的元素分別表征各個數(shù)據(jù)軸上的元素的個數(shù)。

案例

我們用 shape 來查看一維數(shù)組的維度。

arr_1.shape
Out:
    (3,)

可以看到一維數(shù)組只有一個數(shù)據(jù)軸,該數(shù)據(jù)軸上包含 3 個元素。

我們用shape來查看二維數(shù)組的維度。

arr_2.shape
Out:
    (2, 3)

可以看到,arr_2 是一個 2 行 3 列(2×3)的數(shù)組。

2.2 reshape

ndarray 提供了一個不改變數(shù)組元素內(nèi)容、直接改變數(shù)組維度的方法:reshape。通過該方法,可以方便地對數(shù)組元素進(jìn)行重排。

reshape 的函數(shù)調(diào)用方法如下:

ndarray.reshape(newshape, order="C")

構(gòu)造函數(shù)接受的參數(shù)詳解如下:

參數(shù) 描述
newshape 變更后的數(shù)組維度
order 數(shù)據(jù)元素重排方式,有C、F、A可選。“C”指的是用類C寫的讀/索引順序的元素,對二維數(shù)組,是優(yōu)先讀寫行;“F”是指用FORTRAN類索引順序讀/寫元素,對二維數(shù)組,是優(yōu)先讀寫列?!癆”表示排序方式跟隨原數(shù)組。

案例

利用 reshape 方法生成一個維度為 4*5、優(yōu)先讀寫行的二維數(shù)組。

np.array(range(20)).reshape((4,5), order="C")

這里用 range(20) 生成一個長度為20的有序序列,用 reshape 進(jìn)行重排序,order 表示優(yōu)先讀寫行。

Out:
    array([[ 0,  1,  2,  3,  4],
           [ 5,  6,  7,  8,  9],
           [10, 11, 12, 13, 14],
           [15, 16, 17, 18, 19]])

3. 數(shù)組元素的總個數(shù)

3.1 size

ndarray 提供了 size 方法,可以快速查看數(shù)組中元素的格式,該方法對應(yīng)于 shape 方法中 n*m 的值。

案例

快速查看二維數(shù)組的元素格式:

arr_2.size
Out:
    6

可以看到,arr_2 數(shù)組共含有 6 個元素。

4. 查看數(shù)組元素的大小

4.1 itemsize

該方法以字節(jié)的形式返回?cái)?shù)組中每一個元素的大小。

例如:一個元素類型為 float64 的數(shù)組 itemsize 屬性值為 8。因?yàn)?float64 占用 64 個 bits,每個字節(jié)長度為 8,所以 64/8,占用 8 個字節(jié)。

又如:一個元素類型為 complex32 的數(shù)組 item 屬性為 4。因?yàn)?complex32 占用 32 個 bits,占用 4 個字節(jié)。

案例

先創(chuàng)建一個 dtype 為 int32 的數(shù)組,再查看其元素的大小。

x = np.array([1,2,3,4], dtype=np.int32)
x.itemsize
Out: 4

5. 小結(jié)

本節(jié)重點(diǎn)介紹了數(shù)組常用的屬性(維數(shù)、維度、元素個數(shù)、元素大?。?,其中 shape 與 reshape 是最常用的兩種方法。需要注意的是,reshape 方法和 range() 聯(lián)用,可以快速創(chuàng)建維數(shù)較高的數(shù)組,較為常用。