提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
关于数组的四则运算、比较运算
提示:以下是本篇文章正文内容,下面案例可供参考
一、四则运算
1.加法和乘法
import numpy as np
a = np.arange(10,15) #[10 11 12 13 14]
b = np.arange(5,10) #[5 6 7 8 9]
c = a + b #[15 17 19 21 23]
d = a * b #[ 50 66 84 104 126]
2.除法
import numpy as np
a = np.arange(10,15) #[10 11 12 13 14]
b = np.arange(5,10) #[5 6 7 8 9]
e = np.modf(a/b) #(array([0. , 0.83333333, 0.71428571, 0.625 , 0.55555556]), array([2., 1., 1., 1., 1.]))
f = np.modf(a/b)[0] #[0. 0.83333333 0.71428571 0.625 0.55555556]
g = np.modf(a/b)[1] #[2. 1. 1. 1. 1.]
modf 函数用于将一个数组中的每个元素分解为整数部分和小数部分,并返回这两部分作为两个独立的数组。这个函数主要用于处理浮点数数组。由于整除的函数应用会复杂些,我们可以写成np.modf(a/b)[1]
的形式来返回数值的整数部分。np.modf(a/b)[0]
来返回小数部分。
二、比较运算
首先要知道的是比较运算符返回的是bool类型的值,True 或者 False
import numpy as np
a = np.arange(10,15) #[10 11 12 13 14]
b = np.arange(5,10) #[5 6 7 8 9]
print(np.greater(a,b)) # >
print(np.greater_equal(a,b)) # >=
print(np.less(a,b)) # <
print(np.less_equal(a,b)) # <=
print(np.equal(a,b)) # ==
print(np.not_equal(a,b)) # !=
打印结果:
[ True True True True True]
[ True True True True True]
[False False False False False]
[False False False False False]
[False False False False False]
[ True True True True True]
例子
import numpy as np
a = np.array([[1,3,5],[7,9,11]])
b = np.array([[2,3,4],[5,6,7]])
print(a[a>b])
print(np.where(a>6,-1,a)) #将a中大于6的元素改为-1,否则为a本身
print(np.where(a>10,-1,0)) #将a中大于10的元素改为-1,否则为0
输出结果:
[ 5 7 9 11]
-----------------------
[[ 1 3 5]
[-1 -1 -1]]
------------------------
[[ 0 0 0]
[ 0 0 -1]]