📅  最后修改于: 2020-04-19 11:24:52             🧑  作者: Mango
NumPy包含大量的各种数学运算。NumPy提供标准的三角函数,用于算术运算,处理复数的函数等。
NumPy具有标准三角函数,该函数返回给定角度的弧度的三角函数值。
numpy.sin(x [,out])= ufunc’sin’):此数学函数可帮助用户计算所有x(作为数组元素)的三角正弦值
# Python程序解释#sin()函数
import numpy as np
import math
in_array = [0, math.pi / 2, np.pi / 3, np.pi]
print ("输入数组 : \n", in_array)
Sin_Values = np.sin(in_array)
print ("\n正弦值 : \n", Sin_Values)
输出:
输入数组 :
[0, 1.5707963267948966, 1.0471975511965976, 3.141592653589793]
正弦值 :
[ 0.00000000e+00 1.00000000e+00 8.66025404e-01 1.22464680e-16]
numpy.cos(x [,out])= ufunc’cos’):此数学函数可帮助用户计算所有x(作为数组元素)的三角余弦。
# Python程序解释cos()函数
import numpy as np
import math
in_array = [0, math.pi / 2, np.pi / 3, np.pi]
print ("输入数组 : \n", in_array)
cos_Values = np.cos(in_array)
print ("\n正弦值 : \n", cos_Values)
函数 | 描述 |
---|---|
tan() | 按元素计算切线。 |
arcsin() | 按元素反正弦。 |
arccos() | 三角反余弦,元素方式。 |
arctan() | 三角逆切线,元素方向。 |
arctan2() | x1 / x2的逐元素圆弧切线正确选择象限。 |
degrees() | 将角度从弧度转换为度。 |
rad2deg() | 将角度从弧度转换为度。 |
deg2rad | 将角度从度转换为弧度。 |
radians() | 将角度从度转换为弧度。 |
hypot() | 给定直角三角形的“腿”,返回其斜边。 |
unwrap() | 通过将值之间的增量更改为2 * pi补码来展开 |
双曲函数
numpy.sinh(x [,out])= ufunc’sin’):此数学函数可帮助用户计算所有x(作为数组元素)的双曲正弦值。
等同于1/2 * (np.exp(x) - np.exp(-x)) or -1j * np.sin(1j*x)
。
# Python3程序解释sinh()函数
import numpy as np
import math
in_array = [0, math.pi / 2, np.pi / 3, np.pi]
print ("输入数组 : \n", in_array)
Sinh_Values = np.sinh(in_array)
print ("\n正弦双曲值 : \n", Sinh_Values)
输出:
输入数组 :
[0, 1.5707963267948966, 1.0471975511965976, 3.141592653589793]
正弦双曲值 :
[ 0. 2.3012989 1.24936705 11.54873936]
numpy.cosh(x [,out])= ufunc’cos’):此数学函数可帮助用户计算所有x(作为数组元素)的双曲余弦值。
等同于1/2 * (np.exp(x) - np.exp(-x))
和np.cos(1j*x)
# Python3程序解释cosh()函数
import numpy as np
import math
in_array = [0, math.pi / 2, np.pi / 3, np.pi]
print ("输入数组 : \n", in_array)
cosh_Values = np.cosh(in_array)
print ("\n余弦双曲值 : \n", cosh_Values)
输出:
输入数组 :
[0, 1.5707963267948966, 1.0471975511965976, 3.141592653589793]
余弦双曲值 :
[ 1. 2.50917848 1.60028686 11.59195328]
函数 | 描述 |
---|---|
tanh() | 计算双曲正切元素。 |
arcsinh() | 反双曲正弦元素。 |
arccosh() | 反双曲余弦,逐元素。 |
arctanh() | 逆双曲正切元素明智。 |
四舍五入函数:
numpy.around(arr,decimals= 0,out =None):此数学函数可帮助用户将数组元素平均舍入为给定的小数位数。
# Python程序解释around()函数
import numpy as np
in_array = [.5, 1.5, 2.5, 3.5, 4.5, 10.1]
print ("输入数组 : \n", in_array)
round_off_values = np.around(in_array)
print ("\n取整值 : \n", round_off_values)
in_array = [.53, 1.54, .71]
print ("\n输入数组 : \n", in_array)
round_off_values = np.around(in_array)
print ("\n取整值 : \n", round_off_values)
in_array = [.5538, 1.33354, .71445]
print ("\n输入数组 : \n", in_array)
round_off_values = np.around(in_array, decimals = 3)
print ("\n取整值 : \n", round_off_values)
输出:
输入数组 :
[0.5, 1.5, 2.5, 3.5, 4.5, 10.1]
取整值 :
[ 0. 2. 2. 4. 4. 10.]
输入数组 :
[0.53, 1.54, 0.71]
取整值 :
[ 1. 2. 1.]
输入数组 :
[0.5538, 1.33354, 0.71445]
取整值 :
[ 0.554 1.334 0.714]
numpy.round_(arr,decimals = 0,out = None):此数学函数将数组四舍五入到给定的小数位数。
# Python程序解释round_()函数
import numpy as np
in_array = [.5, 1.5, 2.5, 3.5, 4.5, 10.1]
print ("输入数组 : \n", in_array)
round_off_values = np.round_(in_array)
print ("\n取整值 : \n", round_off_values)
in_array = [.53, 1.54, .71]
print ("\n输入数组 : \n", in_array)
round_off_values = np.round_(in_array)
print ("\n取整值 : \n", round_off_values)
in_array = [.5538, 1.33354, .71445]
print ("\n输入数组 : \n", in_array)
round_off_values = np.round_(in_array, decimals = 3)
print ("\n取整值 : \n", round_off_values)
输出:
输入数组 :
[0.5, 1.5, 2.5, 3.5, 4.5, 10.1]
取整值 :
[ 0. 2. 2. 4. 4. 10.]
输入数组 :
[0.53, 1.54, 0.71]
取整值 :
[ 1. 2. 1.]
输入数组 :
[0.5538, 1.33354, 0.71445]
取整值 :
[ 0.554 1.334 0.714]
函数 | 描述 |
---|---|
rint() | 四舍五入为零。 |
fix() | 四舍五入为零。 |
floor() | 以元素为单位返回输入的底限。 |
ceil() | 以元素为单位返回输入的上限。 |
trunc() | 以元素为单位返回输入的截断值。 |
指数和对数函数:
numpy.exp(array, out = None, where = True, casting = ‘same_kind’, order = ‘K’, dtype = None):此数学函数可帮助用户计算元素中所有元素的指数输入数组。
# Python程序解释exp()函数
import numpy as np
in_array = [1, 3, 5]
print ("输入数组 : ", in_array)
out_array = np.exp(in_array)
print ("输出数组 : ", out_array)
输出:
输入数组 : [1, 3, 5]
输出数组 : [ 2.71828183 20.08553692 148.4131591 ]
numpy.log(x [,out] = ufunc’log1p’):此数学函数可帮助用户计算 x的自然对数,其中x属于所有输入数组元素。
自然对数是 exp()的倒数,因此log(exp(x)) = x
。自然对数是以e为底的对数。
# Python程序解释log()函数
import numpy as np
in_array = [1, 3, 5, 2**8]
print ("输入数组 : ", in_array)
out_array = np.log(in_array)
print ("输出数组 : ", out_array)
print("\nnp.log(4**4) : ", np.log(4**4))
print("np.log(2**8) : ", np.log(2**8))
输出:
输入数组 : [1, 3, 5, 256]
输出数组 : [ 0. 1.09861229 1.60943791 5.54517744]
np.log(4**4) : 5.54517744448
np.log(2**8) : 5.54517744448
函数 | 描述 |
---|---|
expm1() | 为数组中的所有元素计算exp(x)– 1。 |
exp2() | 为输入数组中的所有p计算2 ** p。 |
log10() | 以元素为单位返回输入数组的以10为底的对数。 |
log2() | x的以2为底的对数。 |
log1p() | 返回元素加一个输入数组的自然对数。 |
logaddexp() | 输入取幂之和的对数。 |
logaddexp2() | 以2为底的输入的幂和的对数。 |
算术函数
numpy.reciprocal(x,/,out = None,*,where = True):此数学函数用于计算输入数组中所有元素的倒数。
注意:对于绝对值大于1的整数参数,由于Python处理整数除法的结果始终为零。对于整数零,结果为溢出
# Python3代码演示reciprocal()函数
# 导入numpy
import numpy as np
in_num = 2.0
print ("输入号码 : ", in_num)
out_num = np.reciprocal(in_num)
print ("输出编号 : ", out_num)
输出:
输入号码 : 2.0
输出编号 : 0.5
numpy.divide(arr1,arr2,out = None,where = True,cast =’same_kind’,order =’K’,dtype = None):第一个数组中的数组元素被第二个数组中的元素除。arr1和arr2必须具有相同的形状,并且arr2中的元素不能为零;否则会引发错误。
# Python程序解释Divide()函数
import numpy as np
# 输入数组
arr1 = [2, 27, 2, 21, 23]
arr2 = [2, 3, 4, 5, 6]
print ("arr1 : ", arr1)
print ("arr2 : ", arr2)
# 输出数组
out = np.divide(arr1, arr2)
print ("\n输出数组 : \n", out)
输出:
arr1 : [2, 27, 2, 21, 23]
arr2 : [2, 3, 4, 5, 6]
输出数组 :
[ 1. 9. 0.5 4.2 3.83333333]
函数 | 描述 |
---|---|
add() | 按元素添加参数。 |
positive() | 数值正数,逐元素。 |
negative() | 数值为负,逐个元素。 |
multiply() | 将参数逐元素相乘。 |
power() | 第一个数组元素在元素方面从第二个数组提升为幂。 |
subtract() | 从元素上减去参数。 |
true_divide() | 返回按元素划分的输入的真实除法。 |
floor_divide() | 返回小于或等于输入除法的最大整数。 |
float_power() | 第一个数组元素在元素方面从第二个数组提升为幂。 |
mod() | 返回元素的除法余数。 |
mod() | 返回元素的除法余数。 |
divmod() | 同时返回元素商和余数。 |
复数函数–
numpy.isreal(array):逐个元素测试是否为实数(不是无穷大还是不是Number),然后将结果作为布尔数组返回。
# Python程序说明numpy.isreal()方法
import numpy as np
print("是真实的 : ", np.isreal([1+1j, 0j]), "\n")
print("是真实的 : ", np.isreal([1, 0]), "\n")
输出:
是真实的 : [False True]
是真实的 : [ True True]
numpy.conj(x [,out] = ufunc’conjugate’):此函数可帮助用户对任何复数进行共轭。
复数的共轭可通过更改其虚部的符号来获得。如果复数为2 + 5j,则其共轭为2-5j。
# Python3代码演示conj()函数
# 导入numpy
import numpy as np
in_complx1 = 2+4j
out_complx1 = np.conj(in_complx1)
print ("输出共轭复数 2+4j : ", out_complx1)
in_complx2 =5-8j
out_complx2 = np.conj(in_complx2)
print ("输出共轭复数 5-8j: ", out_complx2)
输出:
输出共轭复数 2+4j : (2-4j)
输出共轭复数 5-8j: (5+8j)
特殊函数:
numpy.cbrt(arr,out = None,ufunc’cbrt’):此数学函数可帮助用户计算所有数组元素x的立方根。
# Python程序解释cbrt()函数
import numpy as np
arr1 = [1, 27000, 64, -1000]
print ("arr1的cbrt值 : \n", np.cbrt(arr1))
arr2 = [1024 ,-128]
print ("\narr2的cbrt值 : ", np.cbrt(arr2))
输出:
arr1的cbrt值 :
[ 1. 30. 4. -10.]
arr2的cbrt值 : [ 10.0793684 -5.0396842]
numpy.clip():此函数用于剪辑(限制)数组中的值。
给定一个间隔,该间隔以外的值将被裁剪到间隔边缘。例如,如果指定间隔[0,1],则小于0的值将变为0,而大于1的值将变为1。
# Python3代码演示clip()函数
# 导入numpy
import numpy as np
in_array = [1, 2, 3, 4, 5, 6, 7, 8 ]
print ("输入数组 : ", in_array)
out_array = np.clip(in_array, a_min = 2, a_max = 6)
print ("输出数组 : ", out_array)
输出:
输入数组 : [1, 2, 3, 4, 5, 6, 7, 8]
输出数组 : [2 2 3 4 5 6 6 6]
函数 | 描述 |
---|---|
convolve() | 返回两个一维序列的离散线性卷积。 |
sqrt() | 以元素为单位返回数组的非负平方根。 |
square() | 返回输入的元素方平方。 |
absolute() | 按元素计算绝对值。 |
fabs() | 按元素计算绝对值。 |
sign() | 返回数字符号的逐元素指示。 |
interp() | 一维线性插值。 |
maximum() | 数组元素的逐元素最大值。 |
minimum() | 数组元素的按元素最小值。 |
real_if_close() | 如果复数输入接近实数,则复数部分接近零。 |
nan_to_num() | 将NaN替换为零,并使用大有限数替换无穷大。 |
heaviside() | 计算Heaviside阶跃函数。 |