NumPy学习第十一课:算术函数

67 阅读3分钟

前言导读

前面一个章节,我们学习了数学函数,这一节我们看看NumPy中的算术函数,其实算术函数无非就是数组的一些加减乘除,这些我们在之前也接触过,今天我们看看NumPy中封装的算术函数有什么区别吧?

算术函数

函数名称描述
add()
subtract()
multiply()
divide()

很简单,就是加减乘除,我们直接就在编辑器中进行演示就行。

PS:需要注意的是数组必须具有相同的形状或符合数组广播规则,否则会报错。

示例代码:

"""
@Created on : 2024/5/15 16:09
@creator : er_nao
@File :numpy_23_算术函数.py
@Description"""
import numpy as np

a = np.arange(9, dtype=np.float_).reshape(3, 3)
print('第一个数组:')
print(a)
print('\n')
print('第二个数组:')
b = np.array([10, 10, 10])
print(b)
print('\n')
print('两个数组相加:')
print(np.add(a, b))
print('\n')
print('两个数组相减:')
print(np.subtract(a, b))
print('\n')
print('两个数组相乘:')
print(np.multiply(a, b))
print('\n')
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学习第六课(2):广播(Broadcast)

其他函数

1、numpy.reciprocal()

numpy.reciprocal() 函数返回参数逐元素的倒数,就是把元素值翻个跟头。

示例代码:

a = np.array([5, 2.7, 0.6, 100])
print('原始数组:')
print(a)
print('\n')
print('调用 reciprocal 函数求数组元素的倒数:')
print(np.reciprocal(a))

# 输出结果
# 原始数组:
# [  5.    2.7   0.6 100. ]
# 
# 
# 调用 reciprocal 函数求数组元素的倒数:
# [0.2        0.37037037 1.66666667 0.01      ]

2、numpy.power()

numpy.power()函数将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂, 幂次方就是几个底数相乘,很好理解。

a = np.array([10, 100, 1000])
print('原始数组;')
print(a)
print('\n')
print('调用 power 函数后:')
print(np.power(a, 2))
print('\n')
print('第二个数组后:')
b = np.array([1, 2, 3])
print(b)
print('\n')
print('再次调用 power 函数:')
print(np.power(a, b))

# 输出结果
# 原始数组;
# [  10  100 1000]
# 
# 
# 调用 power 函数后:
# [    100   10000 1000000]
# 
# 
# 第二个数组后:
# [1 2 3]
# 
# 
# 再次调用 power 函数:
# [        10      10000 1000000000]

3、numpy.mod()

numpy.mod() 计算输入数组中相应元素的相除后的余数。 函数 numpy.remainder() 也产生相同的结果。

a = np.array([8, 9, 10])
b = np.array([10, 20, 30])
print('数组a:')
print(a)
print('\n')
print('数组b:')
print(b)
print('\n')
print('调用 mod() 函数:')
print(np.mod(a, b))
print('\n')
print('调用 remainder() 函数:')
print(np.remainder(a, b))


# 输出结果:
# 数组a:
# [ 8  9 10]
#
#
# 数组b:
# [10 20 30]
#
#
# 调用 mod() 函数:
# [ 8  9 10]
#
#
# 调用 remainder() 函数:
# [ 8  9 10]

本节内容非常简单,但是还是那句话,眼过千遍,不如手过一遍

相关参考:www.runoob.com/numpy/numpy…