Это происходит потому, что np.where
возвращает индексы для каждого измерения, в котором был найден элемент.
array_string = np.array([['A', 200], ['B', 100]])
rows_found, cols_found = np.where(array_string == 'A')
rows = array_string[rows_found] # returns [['A', 200]]
print(rows[0][1]) # prints 200
# Another example
array_string = np.array([['A', 200], ['B', 100], ['A', 500]])
rows_found, cols_found = np.where(array_string == 'A')
rows = array_string[rows_found] # returns [['A' 200], ['A' 500]]
print(rows[:, 1]) # prints [200, 500]