numpy學習3 物件屬性和基本資料型別

2021-08-28 09:36:05 字數 1782 閱讀 1942

ndim 陣列軸(維度)的個數,軸的個數被稱作秩

shape 陣列的維度, 例如乙個2排3列的矩陣,它的shape屬性將是(2,3),這個元組的長度顯然是秩,即維度或者ndim屬性

size 陣列元素的總個數,等於shape屬性中元組元素的乘積。

dtype乙個用來描述陣列中元素型別的物件,可以通過創造或指定dtype使用標準python型別。不過numpy提供它自己的資料型別。

itemsize 陣列中每個元素的位元組大小。例如,乙個元素型別為float64的陣列itemsiz屬性值為8(=64/8),又如,乙個元素型別為complex32的陣列item屬性為4(=32/8).

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

print("維度的數量:",a.ndim)

print("陣列元素型別:",a.dtype)

print("陣列的元素個數:",a.size)

print("陣列的形狀:",a.shape)

print("陣列中每個元素的位元組大小:",a.itemsize)

輸出:

維度的數量: 2

陣列元素型別: int32

陣列的元素個數: 6

陣列的形狀: (2, 3)

陣列中每個元素的位元組大小: 4

下面的這兩張圖是所有的資料型別:

建立numpy陣列的時候可以通過屬性dtype顯示指定資料型別,如果不指定的情況下,numpy會自動推斷出適合的資料型別,所以一般不需要顯示給定資料型別。

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

print("改變前的型別:",a.dtype)

a = a.astype(float)

print("改變後的型別:",a.dtype)

輸出

改變前的型別: int32

改變後的型別: float64

對於乙個已經存在的ndarray陣列物件而言,可以通過修改形狀相關的引數方法從而改變陣列的形狀。

當指定某乙個軸為-1的時候,表示將根據陣列元素的數量自動計算該軸的長度值。

#調整陣列大小

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

a.shape=(3,2)

print(a)

'''

reshape 調整陣列大小

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

b = a.reshape(3,2)

print(b)

輸出:

[[1 2]

[3 4]

[5 6]]

2 物件及其屬性

r語言的基礎性概念 物件 向量 vector 陣列 array 矩陣 matrix 資料框 data frame 列表 list as.資料型別 是修改資料型別的函式 數值型 a 100 a 100 物件a 為字元型 a as.numeric a 轉化為數值型別 複數型 a 100 11i a 10...

78 物件屬性讀寫

這一節主要描述與物件屬性有關的東西。有關如何對它進行定義的操作我們已經在上一章中描述過了,這裡不再敘述,只講對其的操作。zend api zval zend read property zend class entry scope,zval object,char name,int name len...

物件導向(一) 物件屬性

物件屬性型別 每個物件都是基於乙個引用型別建立的 1.資料屬性 2.訪問器屬性 4個特性 1.configurable 能否delete屬性從而重新定義屬性 能否修改屬性的特性 能否把屬性改為訪問器屬性 2.enumerable 能否用for in迴圈返回屬性 3.writable 能否修改屬性的值...