1 Numpy的通用函式 ufunc

2022-08-09 12:09:12 字數 4283 閱讀 2938

元素級函式(一元函式):對陣列中的每個元素進行運算

陣列級函式:統計函式,像聚合函式(例如:求和、求平均)

矩陣運算

隨機生成函式

常用一元通用函式、陣列級函式

函式名作用

例子結果

np.abs()、sum()、mean()

std()、var()

計算絕對值、求和、求平均值

求標準差、方差

arr = np.array([1,2,-3,-4,5])

np.abs(arr)

array([1, 2, 3, 4, 5])

np.min()、max()、

argmin ()、argmax()

最小值、最大值、

最小值索引、最大值索引

arr = np.array([1.1,2.2,-3.3])

np.argmin(arrr)

2np.square()

計算各元素的平方

arr = np.array([1,2,-3,-4,5])

np.square(arr)

array([ 1,  4,  9, 16, 25], dtype=int32)

np.sqrt()

計算各元素的平方根 

arr = np.array([1,2,4,5])

np.sqrt(arr)

array([1.        , 1.41421356, 2.        , 2.23606798])

np.exp()

計算各元素以e為底的指數(ex) 

arr = np.array([1,2,4,5]) 

np.exp(arr)

array([  2.71828183,   7.3890561 ,  54.59815003, 148.4131591 ])

np.log()、

log10()、log2()

計算以e、10、2為底的對數

arr = np.array([10,100,1000])

np.log10(arr)

array([1., 2., 3.])

np.sign()

返回各元素的正負號:

1(正數)、0(零)、-1(負數)

arr = np.array([1,2,-3,-4,5,0])

np.sign(arr)

array([ 1,  1, -1, -1,  1,  0])

np.sort()

對陣列進行排序(預設公升序) 

多維陣列可以在單個軸上進行排序

arr = np.array([1,2,-3,-4,5,0])

np.sort(arr)

array([-4, -3,  0,  1,  2,  5])

np.unique()

去重--->結果預設公升序排列

同python中的集合set() 

arr = np.array([1,2,-3,2,1,0])

arr.unique()

array([-3,  0,  1,  2])

np.ceil()

向上取整

arr = np.array([1.1,2.2,-3.3])

np.ceil(arr)

array([ 2.,  3., -3.])

floor()

向下取整

arr = np.array([1.1,2.2,-3.3])

np.floor(arr)

array([ 1.,  2., -4.])

np.rint()

四捨五入 

arr = np.array([1.1,2.2,-3.3])

np.rint(arr)

array([ 1.,  2., -3.])

np.modf()

小數和整數分離 

arr = np.array([1.1,2.2,-3.3])

np.modf(arr)

(array([ 0.1,  0.2, -0.3]), array([ 1.,  2., -3.]))

np.sin()、cos()、tan()

正弦、余弦、正切

同上np.cumsum()

求陣列元素累計和

arr = np.array([1,2,3])

np.cumsum(arr)

array([1, 3, 6], dtype=int32)

np.cumprod()

求陣列元素的累積積

arr = np.array([1,2,3])

np.cumprod(arr)

array([1, 2, 6], dtype=int32)

函式名作用

例子結果

np.diag()

返回矩陣的主對角線元素,

若輸入一維陣列則返回對角矩陣

arr=np.array([[1,2,3],[2,2,3],[3,5,1]])

np.diag(arr)

array([1, 2, 1])

np.trace()

計算對角線元素之和

np.trace(arr)

4np.linalg.det()

計算矩陣的行列式

np.linalg.det(arr)

12.999999999999995

np.linalg.inv()

計算矩陣的逆

np.linalg.inv(arr)

array([[-1.00000000e+00,  1.00000000e+00, -9.25185854e-18],

[ 5.38461538e-01, -6.15384615e-01,  2.30769231e-01],

[ 3.07692308e-01,  7.69230769e-02, -1.53846154e-01]])

np.dot()

矩陣點乘

arr2 = np.array([[1,2],[2,3],[3,4]])

np.dot(arr,arr2)

array([[14, 20],

[15, 22],

[16, 25]])

常用的有:

函式名作用

例子結果

np.random.rand()

產生(0,1)均勻分布的隨機數

arr = np.random.rand(2,2)

array([[0.28576059, 0.87691219],

[0.98174158, 0.37963998]])

np.random.randint()

從給定上下限範圍內隨機選取整數

(預設是0-1之間)

arr = np.random.randint(0,5,size=(2,2))

array([[4, 3],

[2, 1]])

np.random.binomial()

產生二項分布的隨機數,

有兩個引數:n、p;且可用size指定形狀

arr=np.random.binomial(20,0.3)

7np.random.normal()

產生正態分佈的隨機數

有兩個引數:均值μ、標準差σ;且可用size指定形狀

arr = np.random.normal(0,0.4,size=(2,2))

array([[ 0.19689244,  0.1862919 ],

[ 0.5238639 ,  0.22638041]])

np.random.randn()

產生標準正態分佈的隨機數

即均值μ=0、標準差σ=1

arr = np.random.randn(2,3)

array([[ 0.25079709, -0.35966478, -1.28589538],

[-1.02478972, -0.2292332 , -1.40625537]])

np.random.seed()

確定隨機數生成的種子,讓生成隨機數的過程可重現(不設定seed時,每次生成的隨機數將不同)

np.random.seed(5)

np.random.rand(2,2)

np.random.seed(5)

np.random.rand(2,3)

array([[0.22199317, 0.87073231],

[0.20671916, 0.91861091]])

array([[0.22199317, 0.87073231, 0.20671916],

[0.91861091, 0.48841119, 0.61174386]])

資料分析 1 numpy

from numpy import import numpy as np import numpy.random as npr import numpy.linalg as npl建立ndarrayarray 將輸入資料 列表 元組 陣列或其它序列型別 轉換為ndarray。要麼推斷出dtype,要...

NumPy學習筆記(1) NumPy庫簡介

這兩年python特別火,在一些it 上轉一圈各處都能看到關於python的技術類文章,引用官方的說法 python就是 一種解釋型的 物件導向的 帶有動態語義的高階程式語言 等方面。我是因為搞深度學習開始接觸python的,之前學的c 在遇見python後簡直開啟了新世界的大門,碼 的幸福感簡直爆...

numpy 通用函式

導包import numpy as np ceil向上取整,floor向下取整,rint四捨五入,abs取絕對值,nevigate消極的,square平方,sqrt平方根,modf將小數部分和整數部分分開,isnan 查詢是否為空 arr1 np.random.uniform 5,10,3,4 pr...