NumPy: уменьшить

#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])