Skip to content

Latest commit

 

History

History
323 lines (235 loc) · 2.9 KB

041.md

File metadata and controls

323 lines (235 loc) · 2.9 KB

一般函数

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 值。