numpy基本操作

  • 梦影无痕丶
  • 4 Minutes
  • October 6, 2018

一元操作

###abs,fabs:
绝对值,fabs 速度更快。

###sqrt
平方根

###square
平方

###exp
指数 e^x

###log,log10,log2,log1p
自然对数log,底数为10的log,底数为2的log,log(1+x)

###sign
求符号(+、—、0)

ceil

天花板函数

###floor
地板函数

###rint
四舍五入

###modf
将数组的整数部分和小数部分分别返回

###isnan
数组中值是否是NaN,返回值是相应的布尔数组

###isfinite,isinf
数组中是否是有穷的(finite),无穷的(inf),返回是对应布尔数组

cos,cosh,sin,sinh,tan,tanh

普通型和双曲型三角函数

###arccos,arccosh,arcsin,arcsinh,arctan,arctanh
反三角函数

###logical_not
数组元素非值,相当于 -arr

##二元函数

###add
元素加

subtract

元素减

multiply

元素乘

divide,floor_divide

除,向下整除

power

对第一个数组的元素A,第二个数组的元素B,计算 A^B

###maximum,fmax
最大值,fmax忽略NaN

###minimum,fmin
最小值,fmin忽略NaN

###mod

###copysign
复制第一个数组的符号到第二个数组

###greater,greater_equal,less,less_equal,equal,not_equal
大小比较,>,>=,<,<=,==,!=。返回布尔型数组

###logical_and,logical_or,logical_xor
逻辑真值计算,相当于 &,|,^

##三元运算

###where

x=np.array([1,2,3,4,5])
y=np.array([6,7,8,9,10])
cond=np.array([True,False,True,False,True])
result=np.where(cond,x,y)

##统计
###sum
数组求和

###mean
数组求平均值

###std,var
数组标准差,方差

###min,max
最大、最小值

###argmin,argmax
最大最小值的索引

###cumsum,cumprod
所有元素的累计和,累计积

arr=np.array([[0,1,2],[3,4,5],[6,7,8]])
arr.cumsum(0)  # 纵向和
=([[0,1,2],
   [3,5,7],
   [9,12,15]])
arr.cumprod(1)  # 横向积
=([[0,0,0],
   [3,12,60],
   [6,42,336]])

#其他
###x.sort()
排序

###unique(x)
唯一化,即去重

intersect1d(x,y)

计算x,y公共元素,返回有序结果

union1d(x,y)

并集

in1d(x,y)

x的元素是否包含于y,返回布尔型数组

setdiff1d(x,y)

差集

setxor1d(x,y)

异或集

矩阵运算

diag

返回方阵的对角线元素,或将一维数组转换方阵

dot

矩阵乘法

trace

对角线元素和

det

计算行列式

###eig
计算方阵的本征值和本征向量

inv

矩阵的逆

###pinv
矩阵 Moore-Penrose 的伪逆

qr

QR分解

svd

奇异值分解

solve

解线性方程 Ax=b,A为方阵

lstsq

计算Ax=b的最小二乘解