2016-12-14 4 views
1

Я хочу найти индекс элемента, который больше 2 из массива numpy 2d.Как я могу найти индексы элемента, который больше, чем специальный номер из массива numpy 2d?

как этот

import numpy as np 
a = np.array([[1,2,3],[4,5,6]]) 

# find indices of element that bigger than 2 
# result = [[0,2],[[1,0],[1,1],[1,2]] 
+0

Я хочу решение, которое не использует double для цикла –

+1

'' 'zip (* np.whe re (a> 2)) '' '- https: // docs.scipy.org/doc/numpy/reference/generated/numpy.where.html' ...' '' np.argwhere (a> 2) ' '' - https://docs.scipy.org/doc/numpy/reference/generated/numpy.argwhere.html#numpy.argwhere – wwii

+0

Спасибо! Я должен попробовать это. –

ответ

1

Вы можете использовать np.where() который будет дает ожидаемые показатели в режиме кортежа (отдельная ось):

In [6]: np.where(a>2) 
Out[6]: (array([0, 1, 1, 1]), array([2, 0, 1, 2])) 

Или непосредственно np.argwhere():

In [5]: np.argwhere(a>2) 
Out[5]: 
array([[0, 2], 
     [1, 0], 
     [1, 1], 
     [1, 2]]) 
+0

Спасибо за ваш ответ! –

 Смежные вопросы

  • Нет связанных вопросов^_^