簡單介紹
NumPy系統是Python的一種開源的數組計算擴展。這種工具可用來存儲和處理大型矩陣,比Python自身的嵌套列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣(matrix))。
創建數組
創建1維數組:
data = np.array([1,3,4,8])
查看數組維度
data.shape
查看數組類型
data.dtype
通過索引獲取或修改數組元素
data[1] 獲取元素
data[1] = 'a' 修改元素
創建二維數組
data = np.array([[1,2,3],[4,5,6]]) 兩個元素均為列表<br>2.data = np.arange(10) 與python的range一樣,range返回列表,arange返回array類型的一個數組<br>3.data2 = data.reshape(2,5) 返回一個2*5的數組,他不是拷貝數組是引用,只是返回數組的不同視圖,data改變data2也會改變
創建特殊數組
data = np.zeros((2,2)) 創建2*2全為0的2維數組
data = np.ones((2,3,3,)) 創建全為1的三維數組
data = np.eye(4) 創建4*4的對角數組,對角元素為1,其它都為0
數組轉換
data = np.arange(16).reshape(4,4) 將0-16的移位數組轉換為4*4的數組
排序方式
說明:經常需要對數組或者list進行排序,python提供了好幾種排序的函數,下面說明下特點;
二維數組a:
1 43 1
1、ndarray.sort(axis=-1,kind='quicksort',order=None)
使用方法:a.sort
參數說明:
axis:排序沿著數組的方向,0表示按行,1表示按列
kind:排序的算法,提供了快排、混排、堆排
order:不是指的順序,以后用的時候再去分析這個
作用效果:對數組a排序,排序后直接改變了a
例如:
>>a.sort(axis=1)>>print a
1 41 3
2、numpy.sort(a,axis=-1,kind='quicksort',order=None)
使用方法:numpy.sort(a)
參數說明:
a:要排序的數組,其他同1
作用效果:對數組a排序,返回一個排序后的數組(與a相同維度),a不變
例如:
>>print numpy.sort(a,axis=1)1 41 3>>print a1 43 1
3、numpy.argsort(a,axis=-1,kind='quicksort',order=None)
使用方法:numpy.argsort(a)
參數說明:同2
作用效果:對數組a排序,返回一個排序后索引,a不變
例如:
>>print numpy.argsort(a,axis=1)0 11 0
4、sorted(iterable,cmp=None,key=None,reverse=False)
說明:內置的排序函數,對list,字典等等可以使用
iterable:是可迭代類型;
cmp:用于比較的函數,比較什么由key決定,有默認值,迭代集合中的一項;
新聞熱點
疑難解答