一般函数
In [1]:
import numpy as np
三角函数
sin(x)
cos(x)
tan(x)
sinh(x)
conh(x)
tanh(x)
arccos(x)
arctan(x)
arcsin(x)
arccosh(x)
arctanh(x)
arcsinh(x)
arctan2(x,y)
arctan2(x,y)
返回 arctan(x/y)
。
向量操作
dot(x,y)
inner(x,y)
cross(x,y)
vdot(x,y)
outer(x,y)
kron(x,y)
tensordot(x,y[,axis])
其他操作
exp(x)
log(x)
log10(x)
sqrt(x)
absolute(x)
conjugate(x)
negative(x)
ceil(x)
floor(x)
fabs(x)
hypot(x)
fmod(x)
maximum(x,y)
minimum(x,y)
hypot
返回对应点 (x,y)
到原点的距离。
In [2]:
x = np.array([1,2,3])
y = np.array([4,5,6])
np.hypot(x,y)
Out[2]:
array([ 4.12310563, 5.38516481, 6.70820393])
类型处理
iscomplexobj
iscomplex
isrealobj
isreal
imag
real
real_if_close
isscalar
isneginf
isposinf
isinf
isfinite
isnan
nan_to_num
common_type
typename
正无穷:
In [3]:
np.inf
Out[3]:
inf
负无穷:
In [4]:
-np.inf
Out[4]:
-inf
非法值(Not a number):
In [5]:
np.nan
Out[5]:
nan
检查是否为无穷:
In [6]:
np.isinf(1.0)
Out[6]:
False
In [7]:
np.isinf(np.inf)
Out[7]:
True
In [8]:
np.isinf(-np.inf)
Out[8]:
True
非法值:
In [9]:
np.array([0]) / 0.0
c:\Miniconda\lib\site-packages\IPython\kernel\__main__.py:1: RuntimeWarning: invalid value encountered in divide
if __name__ == '__main__':
Out[9]:
array([ nan])
这并不会报错,而是返回一个非法值。
只有 0/0
会得到 nan
,非0值除以0会得到无穷:
In [10]:
a = np.arange(5.0)
b = a / 0.0
b
c:\Miniconda\lib\site-packages\IPython\kernel\__main__.py:2: RuntimeWarning: divide by zero encountered in divide
from IPython.kernel.zmq import kernelapp as app
c:\Miniconda\lib\site-packages\IPython\kernel\__main__.py:2: RuntimeWarning: invalid value encountered in divide
from IPython.kernel.zmq import kernelapp as app
Out[10]:
array([ nan, inf, inf, inf, inf])
nan
与任何数进行比较都是 False
:
In [11]:
b == np.nan
Out[11]:
array([False, False, False, False, False], dtype=bool)
想要找出 nan
值需要使用 isnan
:
In [12]:
np.isnan(b)
Out[12]:
array([ True, False, False, False, False], dtype=bool)
修改形状
atleast_1d
atleast_2d
atleast_3d
expand_dims
apply_over_axes
apply_along_axis
hstack
vstack
dstack
column_stack
hsplit
vsplit
dsplit
split
squeeze
其他有用函数
fix
mod
amax
amin
ptp
sum
cumsum
prod
cumprod
diff
angle
unwrap
sort_complex
trim_zeros
fliplr
flipud
rot90
diag
eye
select
extract
insert
roots
poly
any
all
disp
unique
nansum
nanmax
nanargmax
nanargmin
nanmin
nan
开头的函数会进行相应的操作,但是忽略 nan
值。