numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用
林小森博客:
Python科學計算庫Numpy常用的函數使用 - 林小森?www.linxiaosen.comNumpy具有強大的計算功能,本文介紹Numpy常用的函數,可以有效的提高工作效率。 首先導入numpy庫。
import numpy as np1、求和、平均值、方差
1. np.sum( )
sum()計算數組元素之和,也可以對列表、元組等和數組類似的序列進行求和。當數組是多維時,它計算數組中所有元素的和:
>>> a =np.random.randint(0,10,size=(4,5)) >>> a array([[7, 1, 9, 6, 3],[5, 1, 3, 8, 2],[9, 8, 9, 4, 0],[9, 5, 1, 7, 0]]) >>> np.sum(a) 97如果指定axis參數,求和運算將沿著指定的軸進行。
>>> np.sum(a,axis=1) array([26, 19, 30, 22]) >>> np.sum(a, axis=0) array([30, 15, 22, 25, 5])2. np.mean( ) mean()用于求數組的平均值,也可以通過axis參數指定求平均值的軸,通過out參數指定輸出數組。和sum()不同的是,對于整數數組,它使用雙精度浮點數進行計算,而對于其他類型的數組,則使用和數組元素類型相同的累加變量進行計算:
>>>np.mean(a,axis=1) #整數數組使用雙精度浮點數進行計算 array([ 5.2,3.8,6. , 4.4]) >>> np.mean(b) #單精度浮點數使用單精度浮點數進行計算 1.1109205 >>> np.mean(b, dtype=np.double) #用雙稍度浮點數計算平均值 1.10000002384185793. np.std( ):標準差 4. np.var( ):方差
2、最值和排序
1. np.min( ):計算數組的最小值
2. np.max( ):計算數組的最大值
3. np.argmin( ):求最小值的下標。如果不指定axis參數,就返回平坦化后的數組下標。
4. np.argmax( ):求最大值的下標。如果不指定axis參數,就返回平坦化后的數組下標。 當使用axis參數時,可以沿著指定的軸計算最大值的下標
5. np.sort( ) 數組的sort()方法用于對數組進行排序,它將改變數組的內容。而sort()函數則返回一個新數組,不改變原始數組。它們的axis參數默認值都為-1,即沿著數組的最后一個軸進行排序。 sort()函數的axis參數可以設置為None,此時它將得到平坦化之后進行排序的新數組。
>>> np.sort(a) #對每行的數據進行排序# b=sort(a) array([[1, 3, 6, 7, 9],[1, 2, 3,5, 8],[0, 4, 8, 9, 9],[0, 1, 5, 7, 9]]) >>> np.sort(a, axis=0) #對每列的數據進行排序 array([[5,1,1, 4, 0], # np.sort(a, axis=None)[7, 1, 3, 6, 0],[9, 5, 9, 7, 2],[9, 8, 9'8, 3]])6. np.argsort(a, axis=-1, kind='quicksort', order=None):返回排序后數組的原索引值。 參數: a輸入數組; axis指定排序的維度; * kind表示排序算法,包括‘quicksort’, ‘mergesort’和’heapsort’
argsort()返冋數組的排序下標,axis參數的默認值為-1:
>>>idx = np.argsort(a) >>> idx array([[1, 4, 3, 0, 2],[1, 4, 2, 0, 3],[4, 3, 1, 0, 2],[4, 2, 1, 3, 0]])7. np.median( ) median()可以獲得數組的中值,即對數組進行排序之后,位于數組中間位置的值,當長度是偶數時,得到正中間兩個數的平均值。它也可以指定axis和out參數:
>>> np.median(a,axis=0) array([ 8. , 3. , 6. , 6.5, 1. ])3、數組形狀
1. np.squeeze(a, axis=None):從數組形狀中刪除單維度條目,即把shape中為1的維度去除. 參數:
- a表示輸入的數組;
- axis表示指定需要刪除的維度,但是指定的維度必須為單維度,否則會報錯;axis取值可以為None, int或(tuple of int)。若axis為空,則會刪除所有單維度。
- 返回:數組。
4、統計函數
1. np.unique( ):返回其參數數組中所有不同的值,并按從小到大的順序排列。 參數:
- return_index: True表示返回原始數組中的下標。
- return_inverse:True表示返回重建原始數組用的下標數組。
下面通過實例介紹unique()的用法。首先用randint()創建含有10個元素、值在0到9范圍之內的隨機整數數組
>>> a =np.random.randint(0,10,10) >>> a array([1, 1, 9, 5, 2, 6, 7, 6, 2, 9])通過unique(a)可以找到數組a中所有的整數,并按照順序排列:
>>> np.unique(a) array([1, 2, 5, 6, 7, 9])如果參數return_index為True,就返回兩個數組,第二個數組是第一個數組在原始數組中的下標:
>>> x, idx = np.unique(a, return_index=True) >>> x array([1, 2, 5, 6, 7, 9]) >>> idx array([0, 4, 3, 5, 6, 2])數組idx保存的是數組x中每個元素在數組a中的下標: >>> a[idx] array([1, 2, 5, 6, 7, 9])如果參數return_inverse為True,那么返回的第二個數組是原始數組a中每個元素在數組x 中的下標:
>>> x, ridx = np.unique(a, return_inverse=True) >>> ridx array([0, 0, 5, 2, 1, 3, 4, 3, 1, 5]) >>>all(x[ridx]==a) #原始數組a和x[ridx]完全相同 True2. np.bincount():對整數數組中各個元素出現的次數進行統計,它要求數組中所有元素都是非負的。其返回數組中第i個元素的值表示整數i在參數數組中出現的次數。
5、np.random模塊
1、numpy.random.choice(a, size=None, replace=True, p=None): 參數:
- a : 一維數組或整數,如果是ndarray數組,隨機樣本在該數組獲取(取數據元素),如果是整型數據,則a=np.arange(a) ;
- size : int or tuple of ints, optional 大小:整型或整型元組中元素個數,可選
- replace : boolean, optional 替換:布爾型,可選 Whether the sample is with or without replacement 樣本是否有重復值(False,沒有;True,有;默認:True)
- p : 1-D array-like, optional 1維數組,可選 The probabilities associated with each entry in a. If not given the sample assumes a uniform distribution over all entries in a. 和a里的每個輸入聯系,如果沒有該參數,默認假設a里的每個輸入等概率出現。(和a中元素一一對應,表示該元素出現的概率,概率大的,出現較多)
總結
以上是生活随笔為你收集整理的numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wps字体如何安装
- 下一篇: websocket python爬虫_p