Reputation: 16896
Suppose, I have this:
import numpy as np
N = 5
ids = [ 1., 2., 3., 4., 5., ]
scores = [ 3.75320381, 4.32400937, 2.43537978, 3.73691774, 2.5163266, ]
ids_col = ids.copy()
scores_col = scores.copy()
students_mat = np.column_stack([ids_col, scores_col])
Now, I want to manually
show the ids
and scores
of those students whose score is more than 4.0.
How can I make the following routine work?
print(students_mat([False, True, False, False, False]))
Error
>>> (executing file "arrays.py")
Traceback (most recent call last):
File "D:\Python\arrays.py", line 25, in <module>
print(students_mat([False, True, False, False, False]))
TypeError: 'numpy.ndarray' object is not callable
Upvotes: 0
Views: 57
Reputation: 19947
#you need to convert Boolean list to an array to be used when selecting elements.
print(students_mat[np.asarray([False, True, False, False, False])])
[[ 2. 4.32400937]]
Upvotes: 1