У меня есть этот массив
x = np.array([['1', 'Nb v'],
['2', '2'],
['3', 'Nb v'],
['4','3']])
Я хочу узнать индексы, где второй столбец больше 2.
Это третий индекс (последняя строка).
Поскольку данные являются строковыми, я не могу просто преобразовать строку в int, потому что у меня проблема с Nb v
.
Итак, я подумал выяснить, где у меня нет слова Nb v
.
idx, = np.where(x[:, 1] != 'Nb v')
дает:
array([1, 3])
, а затем найдите индексы, где значение больше 2:
new_idx, = np.where(x[idx, 1].astype(int) > 2)
дает:
array([1])
но это дает индекс idx
, где это происходит, а не индекс x
.
Я хочу узнать индекс / индексы x
, где второй столбец - > 2
.