NumPy基础入门学习
生活随笔
收集整理的這篇文章主要介紹了
NumPy基础入门学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于習慣使用了MATLAB的用戶而言,學習NumPy這個python工具包付出的成本應該是不大的。
NumPy的基本的object是多維數組,是一個有同樣類型的數字等構成的一張表格,能夠通過元組進行索引。本篇主要列出NumPy中最經常使用的一些操作。
1,ndarray 類型的一些屬性
>>> from numpy import * >>> a=array([[1,2,3],[4,5,6]]) >>> a array([[1, 2, 3],[4, 5, 6]]) >>>以上給出了怎么樣初始化一個NumPy 數組。這個數組的類型,維度,包括元素的個數,元素類型。數據等都能夠通過其對應的屬性來得到 # 元素類型 ndarray.dtype >>> a.dtype dtype('int64') >>>
# 維度 ndarray.shape >>> a.shape (2, 3)
#包括元素的個數 ndarray.size >>> a.size 6
2。創建自己定義大小的數組。改變數組的shape
默認系統類型
初始化數據的類型
>>> a=ones((5,4),dtype=int64) >>> a array([[1, 1, 1, 1],[1, 1, 1, 1],[1, 1, 1, 1],[1, 1, 1, 1],[1, 1, 1, 1]]) >>> a.dtype dtype('int64')
改變數組的shape?????????????? reshape函數
技巧:對于reshape這個函數,能夠僅僅指定多少行,或者僅僅指定多少列。剩下的工作由這個函數提我們來做。提高操作的靈活性。 >>> a.reshape((5,:-1)) array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11],[12, 13, 14]]) >>> a.reshape((-1,5)) array([[ 0, 1, 2, 3, 4],[ 5, 6, 7, 8, 9],[10, 11, 12, 13, 14]])
3,數組索引
1)通過指定元組來進行索引
2)一次索引多個元素
????? 索引出多行,能夠將下標存放在一個array里
>>> index=array([1,3,4]) #要索引1,3,4行 >>> a[index] array([[ 4., 7., 2., 1.],[ 5., 4., 6., 0.],[ 4., 3., 2., 9.]])以上操作都是對一行進行索引的。那么怎么去索引到第幾行。第幾列呢
>>> i=array([0,1,2,3]) >>> j=array([3,2,1,0]) >>> a[i,j] array([ 9., 2., 9., 5.]) 返回的是 一個一維矩陣。行存放在i 中。列存放在j中如果要將返回的元素存放在2*2的矩陣中
同一時候還支持 下面幾種索引方式。與MATLAB相似 >>> a[:,1] array([ 6., 7., 9., 4., 3.]) >>> a[:,3] array([ 9., 1., 3., 0., 9.]) >>> a[1,:] array([ 4., 7., 2., 1.]) >>> a[:,1:3] array([[ 6., 4.],[ 7., 2.],[ 9., 7.],[ 4., 6.],[ 3., 2.]])
3,矩陣算術運算 >>> a array([[ 4., 6., 4., 9.],[ 4., 7., 2., 1.],[ 4., 9., 7., 3.],[ 5., 4., 6., 0.],[ 4., 3., 2., 9.]]) >>> a.sum() 93.0 >>> a.sum(axis=0) #行相加 array([ 21., 29., 21., 22.]) >>> a.sum(axis=1) #列相加 array([ 23., 14., 23., 15., 18.]) >>> a.min() 0.0 >>> a.min(axis=0) array([ 4., 3., 2., 0.]) >>> a.min(axis=1) array([ 4., 1., 3., 0., 2.]) >>> a.max() 9.0 >>> a.max(axis=0) array([ 5., 9., 7., 9.]) >>> a.max(axis=1) array([ 9., 7., 9., 6., 9.])
數組之間算術運算
a+b; a-b
很多其它可參考:Tentative NumPy Tutorial
總結
以上是生活随笔為你收集整理的NumPy基础入门学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ConcurrentLinkedQueu
- 下一篇: web服务之Tomcat