科学计算的一个核心点在于精度,numpy的默认精度是64位的浮点数.最高的精度可以用numpy.longdouble
(f16)表示,复数用numpy.clongdouble
(c32),但是这个具体能精确到多少是和你的电脑硬件相关的.
通常我们并不需要最高精度,这时可以使用numpy.around(a, decimals=0, out=None)
来控制精度,其中a为要固定精度的数组,decimals则是精确到小数点后多少位(四舍五入).
import numpy as np
x = np.linspace(-np.pi, np.pi, 6,endpoint=True)
print(x)
[-3.14159265 -1.88495559 -0.62831853 0.62831853 1.88495559 3.14159265]
np.round(x)
array([-3., -2., -1., 1., 2., 3.])
np.round(x,1)
array([-3.1, -1.9, -0.6, 0.6, 1.9, 3.1])
np.round(x,2)
array([-3.14, -1.88, -0.63, 0.63, 1.88, 3.14])
numpy中也有常用数学运算的实现,由于做了足够的优化性能比python标准库高很多
函数 | 说明 |
---|---|
abs/fabs | 绝对值 |
sqrt | 平方根 |
square | 平方 |
exp | 指数 |
log/log10/log2/log1p | 分别为自然对数(e为底数)/底数为10的log/底数为2的log/log(1+x) |
sign | 求符号 |
ceil | 大于等于该值的最小整数 |
floor | 小于等于该值的最大整数 |
rint | 四舍五入到最近的整数,dtype不变 |
modf | 小数整数部分分离 |
isnan | --- |
isfinite/isinf | --- |
sin/sinh/cos/cosh/tan/tanh | 三角函数,双曲三角函数 |
arcsin/arcsinh/arccos/arccosh/arctan/arctanh | 反三角函数,反双曲三角函数 |
logical_not | 计算各元素not x的真值 |
函数 | 说明 |
---|---|
add | 加 |
subtract | 减 |
multiply | 乘 |
divide/floor_divide | 除 |
power | 乘方 |
maximun/fmax | 最大值 |
minimum/fmin | 最小值 |
mod | 求模 |
copysign | 将后面的符号付给前面 |