马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
什么是ufunc?
unfunc 是 Universal functions的缩写,意为通用函数
为什么要有ufunc?
在NumPy中,通用函数是numpy.ufunc类的实例。许多内置函数在编译的C代码中实现,对于数据处理运算效率极高
怎么使用ufunc?>>> a = np.linspace(0,3,5)
>>> a
array([ 0. , 0.75, 1.5 , 2.25, 3. ])
>>> b = np.sin(a)
>>> b
array([ 0. , 0.68163876, 0.99749499, 0.7780732 , 0.14112001])
先创建一个初始值为0,最终值为3,个数为5的数组,计算各元素的sin值并返回
差不多都这样~
注意ufunc有一个可选参数[out],它表示对哪一个数组进行更改,默认返回一个新数组
>>> c = np.add(a,b,a)
>>> id(c) == id(a)
True
>>> c
array([ 0. , 1.36327752, 1.99498997, 1.55614639, 0.28224002])
>>> a
array([ 0. , 1.36327752, 1.99498997, 1.55614639, 0.28224002])
我们将a数组与b数组相加,对a数组进行更改,再将值返回给c
结果a的值改变,且a与c相等
!!!
即使你设置了对哪一个数组进行更改,ufunc仍然会返回数据~
以下是一部分与数学计算有关的ufunc
add(x1,x2 [,out]) 按元素添加参数。
subtract(x1,x2 [,out]) 按元素方式减去参数。
multiply(x1,x2 [,out]) 逐元素乘法参数。
divide(x1,x2 [,out]) 逐元素分割参数。
logaddexp(x1,x2 [,out]) 输入的求和的对数。
logaddexp2(x1,x2 [,out]) 以2为底的输入的乘方和的对数。
true_divide(x1,x2 [,out]) 按元素方式返回输入的真正除法。
floor_divide(x1,x2 [,out]) 返回小于或等于输入的除法的最大整数。
negative(x [,out]) 数值负,元素。
power(x1,x2 [,out]) 第一个数组元素从第二个数组提升到权力,逐元素。
remainder(x1,x2 [,out]) 返回元素的除法余数。
mod(x1,x2 [,out]) 返回元素的除法余数。
fmod(x1,x2 [,out]) 返回除法的元素余项。
absolute(x [,out]) 逐个计算绝对值。
fabs(x [,out]) 按元素计算绝对值。
rint(x [,out]) 数组的圆形元素到最接近的整数。
sign(x [,out]) 返回数字符号的逐元素指示。
conj(x [,out]) 按元素方式返回复共轭。
exp(x [,out]) 计算输入数组中所有元素的指数。
exp2(x [,out]) 对于输入数组中的所有p,计算2 ** p。
log(x [,out]) 自然对数,逐元素。
log2(x [,out]) x的基础2对数。
log10(x [,out]) 以元素为单位返回输入数组的基数10的对数。
expm1(x [,out]) 对数组中的所有元素计算exp(x) - 1
log1p(x [,out]) 返回一个加自然对数的输入数组,元素。
sqrt(x [,out]) 按元素方式返回数组的正平方根。
square(x [,out]) 返回输入的元素平方。
cbrt(x [,out]) 以元素方式返回数组的多维数据集根。
reciprocal(x [,out]) 元素方式返回参数的倒数。
三角函数:
sin(x [,out]) 三角正弦,元素。
cos(x [,out]) 元素方面。
tan(x [,out]) 逐元素计算切线。
arcsin(x [,out]) 反正弦,元素。
arccos(x [,out]) 三角反余弦,元素方式。
arctan(x [,out]) 三角反正切,元素。
arctan2(x1,x2 [,out]) x1/x2的元素平方倒圆切线正确选择象限。
hypot(x1,x2 [,out]) 给定直角三角形的“腿”,返回其斜边。
sinh(x [,out]) 双曲正弦,元素。
cosh(x [,out]) 双曲余弦,元素。
tanh 逐元素计算双曲正切。
arcsinh(x [,out]) 逆双曲正弦元。
arccosh(x [,out]) 逆双曲余弦,元素方式。
arctanh(x [,out]) 逆双曲正切元素。
deg2rad(x [,out]) 将角度从度转换为弧度。
rad2deg(x [,out]) 将角度从弧度转换为度。
|