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)
版权声明:本文为weixin_44695969原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。