#python #numpy
#питон #тупица
Вопрос:
У меня есть множество пар входов. Я хотел бы уменьшить каждую пару с помощью lt;, но np.less.reduce(..., axis=1)
то, что я ожидал, сработает, не работает:
gt;gt;gt; np.less.reduce(np.array([[1, 2], [3, 1]]), axis=1) array([False, False])
Я хотел получить результат array([True, False])
. Это удивило меня, видя, что add.reduce
(да, я знаю, что это может быть просто sum(...)
) делает то, что я ожидаю:
gt;gt;gt; np.add.reduce(np.array([[1, 2], [3, 1]]), axis=1) array([3, 4])
Что я неправильно понял?
Ответ №1:
При выполнении
np.less.reduce([1,2])
он возвращается False
, поэтому less.reduce здесь работает не так, как вы хотите.
Почему бы просто не:
arr = np.array([[1, 2], [3, 1]]) np.less(arr[:,0], arr[:,1])