返回介绍

01. Python 工具

02. Python 基础

03. Numpy

04. Scipy

05. Python 进阶

06. Matplotlib

07. 使用其他语言进行扩展

08. 面向对象编程

09. Theano 基础

10. 有趣的第三方模块

11. 有用的工具

12. Pandas

一般函数

发布于 2022-09-03 20:46:13 字数 4940 浏览 0 评论 0 收藏 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文