numpy学习3:对象属性和基本数据类型
一、ndarray對象屬性
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中的基本數據類型
下面的這兩張圖是所有的數據類型:
創建numpy數組的時候可以通過屬性dtype顯示指定數據類型,如果不指定的情況下,numpy會自動推斷出適合的數據類型,所以一般不需要顯示給定數據類型。
- 指定類型創建:
- astype方法
如果需要更改一個已經存在的數組的數據類型,可以通過astype方法進行修改從而得到一個新數組。
輸出
改變前的類型: int32
改變后的類型: float64
三、修改ndarray的形狀
對于一個已經存在的ndarray數組對象而言,可以通過修改形狀相關的參數方法從而改變數組的形狀。
- 直接修改數組ndarray的shape值, 要求修改后乘積不變。
- 直接使用reshape函數創建一個改變尺寸的新數組,原數組的shape保持不變,但是新數組和原數組共享一個內存空間,也就是修改任何一個數組中的值都會對另外一個產生影響,另外要求新數組的元素個數和原數組一致。
當指定某一個軸為-1的時候,表示將根據數組元素的數量自動計算該軸的長度值。
- 修改數組的shape值
- 使用reshape函數修改
輸出:
[[1 2]
[3 4]
[5 6]]
文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關注我的微信公眾號:cplus人工智能算法后端技術,獲取優質學習資源。
總結
以上是生活随笔為你收集整理的numpy学习3:对象属性和基本数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy学习2:数组创建方式
- 下一篇: numpy学习4:NumPy基本操作