numpy基礎(一)
阿新 • • 發佈:2018-12-25
這裡主要介紹numpy包。
ndarray(陣列)
N維陣列物件ndarray,是numpy中最重要的一個物件。
建立ndarray
用array
函式
import numpy as nu
data = np.array([[1, 2], [3, 4]])
type(data)
#<class 'numpy.ndarray'>
data.dtype
#dtype('int64')
data.shape
#(2, 2)
#顯式說明資料型別
data_1 = np.array([[1, 2], [3, 4]], dtype=np.float64)
data_1.dtype
#dtype('float64')
除非顯式的說明(dtype=),np.array會換成那個是為新建的這個陣列推斷出一個較為合適的資料型別。資料型別儲存在一個特殊的dtype物件中。
array函式建立一個nparray物件,此物件屬性有
屬性 | 說明 |
---|---|
dtype | 資料型別 |
shape | 形狀/維數 |
trace() | 跡 |
dot(ndarray) | 矩陣乘法 |
transpose() | 轉置 |
陣列建立函式
函式 | 說明 |
---|---|
array() | – |
arange() | 類似range(),但返回的是一個ndarray而不是一個列表。 |
ones()、ones_like() | 建立全為1的陣列 |
zeros(),zeros_like() | 建立全為0的陣列 |
empty(),empty_like() | 建立新陣列,只分配記憶體空間,不填充任何值 |
eye(),identity() | 建立N維單位陣 |
陣列索引和切片
陣列切片是原陣列的一個試圖,對此切片的修改會反映到原陣列上
import numpy as np
x = np.arange(10)
x
#array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x[0:4] = 0
x
#array([0, 0, 0, 0, 4, 5, 6, 7, 8, 9])
numpy函式
函式 | 說明 |
---|---|
abs(x),fabs(x) | |
sqrt(x) | |
square(x) | |
exp(x) | |
log(), log10(), log2(), log1p() | |
sign(x) | |
ceil(x) | 大於該值的最小整數 |
floor(x) | 小於該值的最大整數 |
round(x), rint(x) | 四捨五入取整,保留dtype |
modf(x) | 小數部分和整數部分分別返回 |
isnan(x) | 是否為NaN |
isfinite(x), isinf(x) | 有窮,無窮 |
sin(x), cos(x), tan(x), sinh(x), cosh(x), tanh(x) | 三角 |
arcsin(x)… | 反三角 |
logical_not(x) | 計算not x的真值 |
sum() | … |
mean() | … |
std() | … |
var() | … |
min() | … |
max() | … |
argmax() | 最大元素索引 |
argmin() | … |
sumsum() | 累計和 |
cumprod() | 累計積 |
sort() | 排序 |
注意:頂級方法np.sort()返回排序後的副本,x.sort()就地排序
常量 | 說明 |
---|---|
pi | |
nan | NaN |
e |
注意:常量均為數值
函式 | 說明 |
---|---|
add(x, y) | |
subtract(x, y) | |
multiply(x, y) | |
divide(x, y), floor_divide(x, y) | |
power(x, y) | |
maximum(x), fmax(x) | 計算最大值, 忽略NaN |
minimum(x), fmin(x) | 計算最小值, 忽略NaN |
mod(x, y) | x/y取模,餘數 |
copysign(x, y) | 將y的值的符號複製給x的值 |
greater(x, y), greater_equal(x, y) | x>y, x>=y |
less(x, y), less_equal(x, y) | … |
equal(x, y), not_equal() | … |
logical_and(x, y) | 元素級真值邏輯運算 |
logical_or(x, y) | … |
logical_xor(x, y) | … |
集合運算
函式 | 說明 |
---|---|
unique(x) | x中唯一元素 |
intersect1d(x, y) | x,y公共元素 |
union(x, y) | x, y並集 |
in1d(x, y) | 返回‘x的元素是否包含於y’的布林型陣列 |
setdiff1d(x, y) | 集合的差, x-y |
setxor1d(x, y) | 亦或,存在於一個數組中,但不同時存在於兩個陣列中 |