numpy 內建函式總結
阿新 • • 發佈:2019-01-03
import numpy as np #axis=1 表示按列 axis=0表示行
np的陣列建立函式(ndarray)
函式 | 說明 |
---|---|
np.array | 將輸入資料(列表,元組,陣列或其他序列型別)轉換為ndarray。要麼推斷出dtype,要麼顯示指定dtype。預設直接複製輸入資料。比如:arr1 = np.array([1,2,3,4],dtype=np.float64) |
np.asarray | 將輸入轉換為ndarray,如果輸入本身就是一個ndarray就不進行復制 |
np.arange | 類似於內建range,但返回的一個ndarray而不是列表 |
np.ones,ons_like | 根據指定的形狀和dtype建立一個全1陣列。one_like以另一個數組為引數,並根據其形狀和dtype建立一個全1陣列。例如:arr2 = np.ones_like(arr1,dtype=np.float64) |
np.zeros,zeros_like | 類似於ones和ones_like,只不過產生的是全0陣列 |
np.empty,empty_like | 建立新陣列,只分配記憶體空間但不填充任何值 |
np.eye,identity | 建立一個正方的N*N單位矩陣(對角線為1,其餘為0) |
通用函式元素級陣列函式
一元函式
函式 | 說明 |
---|---|
abs(),fabs() | 計算整數、浮點數或複數的絕對值。針對於非複數值,可以使用更快的fabs() |
sqrt() | 計算機各元素的平方根,相當於arr**0.5 |
square() | 計算各元素的平方,相當於arr**2 |
exp() | 計算各元素的e的x次方 |
log,log10,log2,log1p | 分別自然對數(底數為e)、底數為10的log、底數為2的log、log(1+x) |
sign | 計算各元素的正負號:1(正數)、0(零)、-1(負數) |
ceil | 計算各元素的ceiling值,即大於等於該值的最小正數 |
floor | 計算各元素的floor值,即小於等於該值的最大正數 |
rint | 將各元素值四捨五入到最接近的整數,保留dtype |
modf | 將陣列的小數和整數部分以兩個獨立陣列的形式返回 |
isnan | 返回一個表示“哪些值是NaN(這不是一個數字)”的布林型陣列 |
isfinite,isinf | 分別返回一個表示“哪些元素是有窮的(非inf,非NaN)或哪些元素是無窮的”的布林型陣列 |
cos,cosh,sin,sinh,tan,tanh | 普通型和雙曲型三角函式 |
arccos,arccosh,arcsin,arcsinh,arctan,arctanh | 反三角函式 |
logical_not | 計算各元素notx的真值。相當於-arr |
二元函式
函式 | 說明 |
---|---|
add(arr1,arr2) | 將陣列中對應的元素想加 |
subtract(arr1,arr2) | 從第一個陣列中減去第二個陣列中對應元素 |
multiply(arr1,arr2) | 陣列元素對應相乘 |
divide(arr1,arr2),floor_divide(arr1,arr2) | 除法或向下圓整除法(丟棄餘數) |
power(arr1,arr2) | 對第一個陣列中的元素A,根據第二個陣列中的相應元素B,計算A的B次方 |
maximum(arr1,arr2),fmax(arr1,arr2) | 元素級的最大值計算。fmax將忽略NaN |
minimum(arr1,arr2),fmin(arr1,arr2) | 元素級的最小值計算。fmin將忽略NaN |
mod(arr1,arr2) | 元素級的求模計算(除法取餘) |
copysign(arr1,arr2) | 將第2個數組中的值的符號複製給第一個陣列中的值 |
greater(arr1,arr2),greater_equal(arr1,arr2),(less(arr1,arr2),less_equal(arr1,arr2) | 或者(equal(arr1,arr2),not_equal(arr1,arr2))執行元素級的比較運算,最終產生布爾型陣列,相當於中綴運算子>,>=,<,<=,==,!= |
logical_and,logical_or,logical_xor | 執行元素級的真值邏輯運算,相當於運算子&、|、^ |
基本陣列統計函式
陣列的集合運算
常用的numpy.linalg函式
隨機數的生成
numpy.random模組對python內建的random進行了補充,增加了一些用於高效生成多種概率分佈的樣本值的函式。
例如:可以用normal來得到一個標準正太分佈的4*4樣本陣列:
samples = np.random.normal(size=(4,4))
部分numpy.random函式