python numpy常用的數學和統計函數


numpy模塊的核心就是基於數組的運算,相比於列表和其他數據結構,數組的運算效率是最高的。在統計分析和挖掘過程中,經常會使用到numpy模塊的函數,以下是常用的數學函數和統計函數:

 

常數p就是圓周率  3.1415926...

常數e :2.71828...

np.fabs(arr)   例如:np.fabs(-3)   輸出:3.0

np.ceil(arr)  例如:np.ceil(3.2)   輸出:4.0   並非四舍五入操作

np.floor(arr)  類似ceil  向下取整

np.round(arr)  四舍五入  例如:np.round(3.4)  輸入:3.0    輸出的還是浮點型數據,並非整型

np.fmod(arr1,arr2) 求余,對arr1,arr2並沒有要求要整數,如np.fmod(3.9,3.8)  結果是:0.1000000

 

 

 

 np.modf(arrj)   返回數組元素的小數部分和整數部分  如:arr1 = np.array([3.21,4.1,5.2])    print(np.modf(arr1))   輸出如下:

(array([0.31, 0.1 , 0.2 ]), array([2., 4., 5.]))

 np.sqrt(arr)  計算各元素的算數平方根,這個元素可以是具體的數值,也可以是數組,例如:print(np.sqrt(arr1))  out:

[1.51986842 2.02484567 2.28035085]

np.square(arr)  用法同np.sqrt(arr)  計算各元素的平方值

np.power(arr,α) 表示arr的α次方   也就是說  其實 np.power 可以包括 aqrt square exp

如:

import numpy as np
arr1 = np.array([2.31,4.1,5.2])
print(np.power(arr1,0.5))
print(np.sqrt(arr1))


print(np.exp(arr1))
print(np.power(np.e,arr1))


print(np.power(arr1,2))

print(np.square(arr1))

 

out:

[1.51986842 2.02484567 2.28035085]
[1.51986842 2.02484567 2.28035085]
[ 10.07442466  60.3402876  181.27224188]
[ 10.07442466  60.3402876  181.27224188]
[ 5.3361 16.81   27.04  ]
[ 5.3361 16.81   27.04  ]

常用統計函數:

 

 

 

 

 

 統計函數絕大部分都是有axis參數,該參數的目的就是在統計數組元素時需要按照不同的軸方向計算,如果axis = 1,計算各行的統計值,axis = 0,計算各列

的統計值。

例如:

import numpy as np

arr2 = np.arange(9).reshape(3,3)

print(np.sum(arr2,axis = 0))    #統計二維數組垂直方向各項的值的和

print(np.sum(arr2,axis = 1))   #統計二維數組橫向方向各項的值的和

 out:

[ 9 12 15]
[ 3 12 21]

示例2:

import numpy as np
arr2 = np.arange(9).reshape(3,3)
print('輸入arr2用於對比:\n',arr2)
print('....分割線....')
print(np.min(arr2,axis = 0))
print(np.max(arr2,axis = 1))
print(np.mean(arr2,axis = 0))
print(np.median(arr2,axis = 1))
print(np.sum(arr2,axis =0))
print(np.std(arr2,axis =0))
print(np.var(arr2,axis=0)) #方差 也就是差的平方了
print(np.cumsum(arr2,axis = 0)) #累計和 可以通過結果的值 如:3,5,7的得來是 0+3 1+4 2+5
print(np.cumprod(arr2,axis =0)) #跟累加處理方式類似,一個個剩下來
print(np.argmax(arr2,axis = 0 )) #這里反饋的是按照軸方向返回的最大值的位置,並不是最大值

 
        
輸入arr2用於對比:
 [[0 1 2]
 [3 4 5]
 [6 7 8]]
....分割線....
[0 1 2]
[2 5 8]
[3. 4. 5.]
[1. 4. 7.]
[ 9 12 15]
[2.44948974 2.44948974 2.44948974]
[6. 6. 6.]
[[ 0  1  2]
 [ 3  5  7]
 [ 9 12 15]]
[[ 0  1  2]
 [ 0  4 10]
 [ 0 28 80]]
[2 2 2]
 特意沒隔開,自己慢慢看吧   皮爾遜相關系數,協方差,后面再理解



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM