杨桃的Python进阶讲座9——数组array(二)数组array的初等运算

本人CSDN博客专栏:https://blog.csdn.net/yty_7

Github地址:https://github.com/yot777/

参考教程:https://www.runoob.com/numpy/numpy-tutorial.html

数组array有类似于数字的各种初等运算,需要通过NumPy 算术函数实现。

数组四则运算

NumPy 算术函数包含简单的加减乘除: add()subtract()multiply() 和 divide()

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

数组四则运算举例:

import numpy as np 
 
a = np.arange(9, dtype = np.float_).reshape(3,3)  
print ('第一个数组:')
print (a)
print ('\n')
print ('第二个数组:')
b = np.array([20,20,20])
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))

b数组原始是[20 20 20]

需要注意的是,b数组由Python自动进行了广播化,在运算中实际为
[[20. 20. 20.]
 [20. 20. 20.]
 [20. 20. 20.]]

运行结果:

第一个数组:
[[0. 1. 2.]
 [3. 4. 5.]
 [6. 7. 8.]]


第二个数组:
[20 20 20]


两个数组相加:
[[20. 21. 22.]
 [23. 24. 25.]
 [26. 27. 28.]]


两个数组相减:
[[-20. -19. -18.]
 [-17. -16. -15.]
 [-14. -13. -12.]]


两个数组相乘:
[[  0.  20.  40.]
 [ 60.  80. 100.]
 [120. 140. 160.]]


两个数组相除:
[[0.   0.05 0.1 ]
 [0.15 0.2  0.25]
 [0.3  0.35 0.4 ]]

数组求倒数

numpy.reciprocal()
numpy.reciprocal() 函数返回参数逐元素的倒数。如 5 倒数为 0.2。

举例:

import numpy as np 
 
a = np.array([0.25,  1,  2,  0.5])  
print ('原始数组是:')
print (a)
print ('\n')
print ('调用reciprocal函数之后的数组是:')
print (np.reciprocal(a))

运行结果:

原始数组是:
[0.25 1.   2.   0.5 ]


调用reciprocal函数之后的数组是:
[4.  1.  0.5 2. ]

数组求幂指数

numpy.power()
numpy.power() 函数将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂。

举例:

import numpy as np 
 
a = np.array([2,4,8])  
print ('原始数组a是:')
print (a)
print ('调用power(a,2)函数的结果是:')
print (np.power(a,2))
print ('原始数组b是:')
b = np.array([1,2,3])  
print (b)
print ('调用power(a,b)函数的结果是:')
print (np.power(a,b))

运行结果:

原始数组a是:
[2 4 8]
调用power(a,2)函数的结果是:
[ 4 16 64]
原始数组b是:
[1 2 3]
调用power(a,b)函数的结果是:
[  2  16 512]

数组求余

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

举例:

import numpy as np
 
a = np.array([10,20,30]) 
b = np.array([5,7,9])  
print ('第一个数组a是:')
print (a)
print ('第二个数组b是:')
print (b)
print ('调用mod(a,b)函数的结果是:')
print (np.mod(a,b))
print ('调用remainder(a,b)函数的结果是:')
print (np.remainder(a,b))

运行结果:

第一个数组a是:
[10 20 30]
第二个数组b是:
[5 7 9]
调用mod(a,b)函数的结果是:
[0 6 3]
调用remainder(a,b)函数的结果是:
[0 6 3]

本人CSDN博客专栏:https://blog.csdn.net/yty_7

Github地址:https://github.com/yot777/

如果您觉得本篇本章对您有所帮助,欢迎关注、评论、点赞!Github欢迎您的Follow、Star!

发布了55 篇原创文章 · 获赞 16 · 访问量 6111

猜你喜欢

转载自blog.csdn.net/yty_7/article/details/104552585
今日推荐