@Merkur0000

Как найти быстро элемент в 2d np array?

Есть 2d np array, например, [[1, 2, 3], [1, 3, 2], [3, 3, 3]] нужно определить на каком месте находится внутренний массив, пусть будет [1,3,2]
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
@Umpiro
a = np.array([[1, 2, 3], [1, 3, 2], [3, 3, 3]]) #создание массива
b = (a == [1, 3, 2]) #список проверки
c = b.all(1) # понижение размерности списка проверки
r = np.nonzero(c) #массив с номерами строк совпадений (первый вариант)
r = np.where(c == True) #(второй вариант)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@anerev
f = [[1, 2, 3], [1, 3, 2], [3, 3, 3]] 
t = [1, 3, 2]
for h in range(len(f)):
    if f[h] == t:
        print(h)
Ответ написан
adugin
@adugin Куратор тега Python
Вот так можно найти индекс первой совпадающей строки:
a = np.array([[1, 2, 3], [1, 3, 2], [3, 3, 3]])
b = np.array([1, 3, 2])

row_index = (a == b[np.newaxis, ...]).all(axis=1).argmax()  # 1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Level Travel Москва
До 160 000 ₽
Big Data Solutions Санкт-Петербург
от 100 000 до 220 000 ₽