numpy学习3:对象属性和基本数据类型
一、ndarray對象屬性
ndim 數(shù)組軸(維度)的個數(shù),軸的個數(shù)被稱作秩
shape 數(shù)組的維度, 例如一個2排3列的矩陣,它的shape屬性將是(2,3),這個元組的長度顯然是秩,即維度或者ndim屬性
size 數(shù)組元素的總個數(shù),等于shape屬性中元組元素的乘積。
dtype一個用來描述數(shù)組中元素類型的對象,可以通過創(chuàng)造或指定dtype使用標準Python類型。不過NumPy提供它自己的數(shù)據(jù)類型。
itemsize 數(shù)組中每個元素的字節(jié)大小。例如,一個元素類型為float64的數(shù)組itemsiz屬性值為8(=64/8),又如,一個元素類型為complex32的數(shù)組item屬性為4(=32/8).
a = np.array([[1,2,3],[4,5,6]]) print("維度的數(shù)量:",a.ndim) print("數(shù)組元素類型:",a.dtype) print("數(shù)組的元素個數(shù):",a.size) print("數(shù)組的形狀:",a.shape) print("數(shù)組中每個元素的字節(jié)大小:",a.itemsize)輸出:
維度的數(shù)量: 2
數(shù)組元素類型: int32
數(shù)組的元素個數(shù): 6
數(shù)組的形狀: (2, 3)
數(shù)組中每個元素的字節(jié)大小: 4
二、numpy中的基本數(shù)據(jù)類型
下面的這兩張圖是所有的數(shù)據(jù)類型:
創(chuàng)建numpy數(shù)組的時候可以通過屬性dtype顯示指定數(shù)據(jù)類型,如果不指定的情況下,numpy會自動推斷出適合的數(shù)據(jù)類型,所以一般不需要顯示給定數(shù)據(jù)類型。
- 指定類型創(chuàng)建:
- astype方法
如果需要更改一個已經(jīng)存在的數(shù)組的數(shù)據(jù)類型,可以通過astype方法進行修改從而得到一個新數(shù)組。
輸出
改變前的類型: int32
改變后的類型: float64
三、修改ndarray的形狀
對于一個已經(jīng)存在的ndarray數(shù)組對象而言,可以通過修改形狀相關(guān)的參數(shù)方法從而改變數(shù)組的形狀。
- 直接修改數(shù)組ndarray的shape值, 要求修改后乘積不變。
- 直接使用reshape函數(shù)創(chuàng)建一個改變尺寸的新數(shù)組,原數(shù)組的shape保持不變,但是新數(shù)組和原數(shù)組共享一個內(nèi)存空間,也就是修改任何一個數(shù)組中的值都會對另外一個產(chǎn)生影響,另外要求新數(shù)組的元素個數(shù)和原數(shù)組一致。
當指定某一個軸為-1的時候,表示將根據(jù)數(shù)組元素的數(shù)量自動計算該軸的長度值。
- 修改數(shù)組的shape值
- 使用reshape函數(shù)修改
輸出:
[[1 2]
[3 4]
[5 6]]
文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關(guān)注我的微信公眾號:cplus人工智能算法后端技術(shù),獲取優(yōu)質(zhì)學習資源。
總結(jié)
以上是生活随笔為你收集整理的numpy学习3:对象属性和基本数据类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy学习2:数组创建方式
- 下一篇: numpy学习4:NumPy基本操作