欢迎关注WX公众号:【程序员管小亮】

NumPy一元函数对ndarray中的数据执行元素级运算的函数

  • ​np.abs(x)​​、​​np.fabs(x)​​ : 计算数组各元素的绝对值
>>> x = np.array([-1.2, 1.2])
>>> np.absolute(x)
array([ 1.2, 1.2])

>>> np.fabs(x)
array([ 1.2, 1.2])


  • ​np.sqrt(x)​​ : 计算数组各元素的平方根
>>> x = np.array([-1.2, 1.2])
>>> np.sqrt(x)
array([ nan 1.09544512])


  • ​np.square(x)​​ : 计算数组各元素的平方
>>> x = np.array([-1.2, 1.2])
>>> np.square(x)
array([1.44 1.44])


  • ​np.log(x)​​、​​np.log10(x)​​、​​np.log2(x)​​ : 计算数组各元素的自然对数、10底对数和2底对数
>>> np.log([1, np.e, np.e**2, 0])
array([ 0., 1., 2., -Inf])

>>> np.log10([1, np.e, np.e**2, 0])
array([0. 0.43429448 0.86858896 -inf])

>>> np.log2([1, np.e, np.e**2, 0])
array([0. 1.44269504 2.88539008 -inf])


  • ​np.ceil(x)​​ 、​​np.floor(x)​​ : 计算数组各元素的ceiling值或floor值(ceiling向上取整,floor向下取整)
>>> a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0])
>>> np.ceil(a)
array([-1., -1., -0., 1., 2., 2., 2.])

>>> a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0])
>>> np.floor(a)
array([-2., -2., -1., 0., 1., 1., 2.])


  • ​np.rint(x)​​ : 计算数组各元素的四舍五入值
>>> a = np.array([-1.7, -1.5, -0.2, 0.2, 1.5, 1.7, 2.0])
>>> np.rint(a)
array([-2., -2., -0., 0., 2., 2., 2.])


  • ​np.modf(x)​​ : 将数组各元素的小数和整数部分以两个独立数组形式返回
>>> np.modf([0, 3.5])
(array([ 0. , 0.5]), array([ 0., 3.]))
>>> np.modf(-0.5)
(-0.5, -0)


  • ​np.cos(x)​​、 ​​np.cosh(x)​​、​​np.sin(x)​​、 ​​np.sinh(x)​​、​​np.tan(x)​​ 、​​np.tanh(x)​​ : 计算数组各元素的普通型和双曲型三角函数
>>> np.cos(np.array([0, np.pi/2, np.pi]))
array([ 1.00000000e+00, 6.12303177e-17, -1.00000000e+00])

>>> np.cosh(np.array([0, np.pi/2, np.pi]))
array([ 1. , 2.50917848, 11.59195328])

>>> np.sin(np.array([0, np.pi/2, np.pi]))
array([ 0.00000000e+00, 1.00000000e+00, 1.22464680e-16])

>>> np.sinh(np.array([0, np.pi/2, np.pi]))
array([ 0. , 2.3012989 , 11.54873936])

>>> np.tan(np.array([0, np.pi/2, np.pi]))
array([ 0.00000000e+00, 1.63312394e+16, -1.22464680e-16])

>>> np.tanh(np.array([0, np.pi/2, np.pi]))
array([ 0. , 0.91715234, 0.99627208])


  • ​np.exp(x)​​ : 计算数组各元素的指数值
>>> np.expm1(1e-10)
1.00000000005e-10


  • ​np.sign(x)​​ : 计算数组各元素的符号值,+1(+), 0, ‐1(‐)
>>> np.sign([-5., 4.5])
array([-1., 1.])
>>> np.sign(0)
0
>>> np.sign(5-2j)
(1+0j)


NumPy二元函数对ndarray中的数据执行元素级运算的函数

  • ​+、 ‐、 * 、/ 、**​​ : 两个数组各元素进行对应运算
  • ​np.maximum(x,y)​​ 、​​np.fmax()​​、 ​​np.minimum(x,y)​​ 、​​np.fmin()​​ :元素级的最大值/最小值计算
>>> x = np.array([[0, 1, 2, 3],
[4, 5, 6, 7],
[8, 9, 10, 11]])
>>> y = np.array([[2, 2, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2]])
>>> np.maximum(x,y)
array([[ 2, 2, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])

>>> np.fmax(x,y)
array([[ 2, 2, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])

>>> np.minimum(x,y)
array([[0, 1, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2]])

>>> np.fmin(x,y)
array([[0, 1, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2]])


  • ​np.mod(x,y)​​ :元素级的模运算
>>> np.remainder([4, 7], [2, 3])
array([0, 1])
>>> np.remainder(np.arange(7), 5)
array([0, 1, 2, 3, 4, 0, 1])


  • ​np.copysign(x,y)​​ : 将数组y中各元素值的符号赋值给数组x对应元素
>>> x = np.array([[0, 1, 2, 3],
[4, 5, 6, 7],
[8, 9, 10, 11]])
>>> y = np.array([[2, 2, 2, 2],
[2, 2, 2, 2],
[2, 2, 2, 2]])
>>> np.copysign(x,y)
array([[ -0., 1., -2., 3.],
[ 4., -5., 6., -7.],
[ -8., 9., -10., 11.]])


  • ​> < >= <= == !=​​ 算术比较,产生布尔型数组