# Python: Np.where Ternary Operator

through the use of np.where It can perform more complex operations

np.where ()

``````score = np.random.randint(40, 100, (10, 5))
score
array([[51, 81, 74, 58, 56],
[94, 79, 51, 92, 94],
[84, 79, 54, 87, 81],
[52, 53, 69, 83, 73],
[42, 68, 67, 50, 55],
[45, 85, 58, 72, 61],
[78, 63, 80, 99, 95],
[66, 45, 51, 89, 48],
[46, 63, 78, 43, 85],
[93, 69, 83, 91, 96]])

temp = score[:4, :4]
# Judgment of the top four students, the first four courses, the grade greater than 60 set to 1, otherwise 0
np.where(temp > 60, 1, 0)
array([[0, 1, 1, 0],
[1, 1, 0, 1],
[1, 1, 0, 1],
[0, 0, 1, 1]])``````

Compound logic needs combination np.logical_ And and np.logical_ Or use

``````# determine the first four students, the first four courses, the results of greater than 60 and less than 90 for 1, otherwise 0
np.where(np.logical_and(temp > 60, temp < 90), 1, 0) # greater than 60, less than 90 show 1
array([[0, 1, 1, 0],
[0, 1, 0, 0],
[1, 1, 0, 1],
[0, 0, 1, 1]])

# determine the first four students, the first four courses, the grades in greater than 90 or less than 60 for 1, otherwise 0
np.where(np.logical_or(temp <60, temp > 90), 1, 0) less than 60 greater than 90 show 1
array([[1, 0, 0, 1],
[1, 0, 1, 1],
[0, 0, 1, 0],
[1, 1, 0, 0]])``````