概述
1 逻辑运算
>>> score = np.random.randint(40, 100, (10, 5))
# 生成10名同学,5门功课的数据
>>> test_score = score[6:, 0:5]
# 取出最后4名同学的成绩,用于逻辑判断
逻辑判断, 如果成绩大于60就标记为True
否则为False
>>> test_score > 60
array([[ True,
True,
True, False,
True],
[ True,
True,
True, False,
True],
[ True,
True, False, False,
True],
[False,
True,
True,
True,
True]])
BOOL
赋值, 将满足条件的设置为指定的值
>>> test_score[test_score > 60] = 1
>>> test_score
array([[ 1,
1,
1, 52,
1],
[ 1,
1,
1, 59,
1],
[ 1,
1, 44, 44,
1],
[59,
1,
1,
1,
1]])
2 判断函数
np.all()
判断前两名同学的成绩[0:2, :]是否全及格
>>> np.all(score[0:2, :] > 60)
False
np.any()
判断前两名同学的成绩[0:2, :]是否有大于90分的
>>> np.any(score[0:2, :] > 80)
True
3 np.where(三元运算符)
判断前四名学生,前四门课程中,成绩中大于60的置为1,否则为0
temp = score[:4, :4]
np.where(temp > 60, 1, 0)
复合逻辑需要结合np.logical_and和np.logical_or使用
a 判断前四名学生,前四门课程中,成绩中大于60且小于90的换为1,否则为0
np.where(np.logical_and(temp > 60, temp < 90), 1, 0)
b 判断前四名学生,前四门课程中,成绩中大于90或小于60的换为1,否则为0
np.where(np.logical_or(temp > 90, temp < 60), 1, 0)
最后
以上就是稳重斑马为你收集整理的Numpy的高级运算(布尔赋值,all,any,where)的全部内容,希望文章能够帮你解决Numpy的高级运算(布尔赋值,all,any,where)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复