#python #numpy
#python #numpy
Вопрос:
Например, A = [5, 0, 0, 5]
B = [5, 5, 0, 5]
Я хочу получить, какие элементы равны 5 в обоих массивах
Вывод должен быть = [0, 3]
Комментарии:
1. Каков результат
[0,3]
? Можете ли вы объяснить?
Ответ №1:
np.where(np.logical_and(A == 5, B == 5))
Ответ №2:
В одномерных массивах np.flatnonzero
работает отлично:
import numpy as np
A = np.array([5, 0, 0, 5])
B = np.array([5, 5, 0, 5])
np.flatnonzero((A == 5) amp; (B == 5))
np.where
или np.nonzero
, однако, возвращает кортеж, и вам нужно взять его первый элемент:
np.where((A == 5) amp; (B == 5))[0]
или
np.nonzero((A == 5) amp; (B == 5))[0]
Вывод
array([0, 3], dtype=int64)
Примечание: сначала убедитесь, что вы преобразовали A
и B
в массивы.