NumPy 算术函数
2019-02-24 10:26:23
•
阅读
打赏
NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。
要注意的是参与运算的数组必须具有相同的形状或符合数组广播规则。
import numpy as np
a = np.arange(9, dtype=np.float_).reshape(3, 3)
print('第一个数组:')
print(a)
print('第二个数组:')
b = np.array([10, 10, 10])
print(b)
print('两个数组相加:')
print(np.add(a, b))
print('两个数组相减:')
print(np.subtract(a, b))
print('两个数组相乘:')
print(np.multiply(a, b))
print('两个数组相除:')
print(np.divide(a, b))
# 输出
# 第一个数组:
# [[0. 1. 2.]
# [3. 4. 5.]
# [6. 7. 8.]]
# 第二个数组:
# [10 10 10]
# 两个数组相加:
# [[10. 11. 12.]
# [13. 14. 15.]
# [16. 17. 18.]]
# 两个数组相减:
# [[-10. -9. -8.]
# [ -7. -6. -5.]
# [ -4. -3. -2.]]
# 两个数组相乘:
# [[ 0. 10. 20.]
# [30. 40. 50.]
# [60. 70. 80.]]
# 两个数组相除:
# [[0. 0.1 0.2]
# [0.3 0.4 0.5]
# [0.6 0.7 0.8]]
numpy.reciprocal()
numpy.reciprocal() 函数返回参数逐元素的倒数。如 1/4 倒数为 4/1。
由于 Python 处理整数除法的方式,对于绝对值大于 1 的整数元素,结果始终为 0, 对于整数 0,则发出溢出警告。
import numpy as np
a = np.array([0.25, 1.33, 1, 100, 0])
print('我们的数组是:')
print(a)
print('调用 reciprocal 函数:')
print(np.reciprocal(a))
# 我们的数组是:
# [ 0.25 1.33 1. 100. 0. ]
# 调用 reciprocal 函数:
# [4. 0.7518797 1. 0.01 inf]
# F:/machine learning/a1.py:1075: RuntimeWarning: divide by zero encountered in reciprocal
# print(np.reciprocal(a))
numpy.power()
numpy.power() 函数将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂。
import numpy as np
a = np.array([10, 100, 1000])
print('我们的数组是;')
print(a)
print('调用 power 函数:')
print(np.power(a, 2))
print('第二个数组:')
b = np.array([1, 2, 3])
print(b)
print('再次调用 power 函数:')
print(np.power(a, b))
# 我们的数组是;
# [ 10 100 1000]
# 调用 power 函数:
# [ 100 10000 1000000]
# 第二个数组:
# [1 2 3]
# 再次调用 power 函数:
# [ 10 10000 1000000000]
numpy.mod()
numpy.mod() 计算输入数组中相应元素的相除后的余数。 函数 numpy.remainder() 也产生相同的结果。
import numpy as np
a = np.array([10, 20, 30])
b = np.array([3, 5, 7])
print('第一个数组:')
print(a)
print('第二个数组:')
print(b)
print('调用 mod() 函数:')
print(np.mod(a, b))
print('调用 remainder() 函数:')
print(np.remainder(a, b))
# 第一个数组:
# [10 20 30]
# 第二个数组:
# [3 5 7]
# 调用 mod() 函数:
# [1 0 2]
# 调用 remainder() 函数:
# [1 0 2]
以下函数用于对含有复数的数组执行操作。
- numpy.real() 返回复数类型参数的实部。
- numpy.imag() 返回复数类型参数的虚部。
- numpy.conj() 返回通过改变虚部的符号而获得的共轭复数。
- numpy.angle() 返回复数参数的角度。 函数的参数是degree。 如果为true,返回的角度以角度制来表示,否则为以弧度制来表示。
import numpy as np
a = np.array([-5.6j, 0.2j, 11. , 1+1j])
print ('我们的数组是:')
print (a)
print ('调用 real() 函数:')
print (np.real(a))
print('调用 imag() 函数:')
print (np.imag(a))
print('调用 conj() 函数:')
print (np.conj(a))
print('调用 angle() 函数:')
print (np.angle(a))
print('再次调用 angle() 函数(以角度制返回):')
print(np.angle(a, deg = True))
# 我们的数组是:
# [-0.-5.6j 0.+0.2j 11.+0.j 1.+1.j ]
# 调用 real() 函数:
# [-0. 0. 11. 1.]
# 调用 imag() 函数:
# [-5.6 0.2 0. 1. ]
# 调用 conj() 函数:
# [-0.+5.6j 0.-0.2j 11.-0.j 1.-1.j ]
# 调用 angle() 函数:
# [-1.57079633 1.57079633 0. 0.78539816]
# 再次调用 angle() 函数(以角度制返回):
# [-90. 90. 0. 45.]

相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型