-2

Я хотел бы сравнить массивы numpy равного размера с точки зрения более высоких/меньших отношений. В частности, у меня естьЭлементное сравнение массивов numpy различной длины

>>> import numpy as np 
>>> A = np.array([0.5, 2., 0.1, 12.]) 
>>> B = np.ones(len(A)) 
>>> A<B 
array([ True, False, True, False], dtype=bool) 
>>> C = np.array([0.5, 2., 0.1, 12., 0.8]) 
>>> D = np.ones(len(C)) 
>>> C<D 
array([ True, False, True, False, False], dtype=bool) 

Последний элемент False, хотя 0,8 меньше 1,0. Это, похоже, происходит для неравномерных длин массивов. Я что-то пропустил?

Я использую Python 2.7.6 с NumPy 1.8.0.

Однако он работает с NumPy 1.8.2.

+1

не может воспроизвести с помощью Python 2.7 или 3 –

+5

я нахожу это трудно поверить, эти фрагменты. У вашего первого есть 'A' и' B' с длиной 4, но выход имеет пять элементов? – DSM

+1

Я не могу воспроизвести это, используя numpy 1.8.0 и python 2.7. Можете ли вы дважды проверить свои фрагменты? –

ответ

0

Думаю, что вы что-то смешали в своем тесте. Это всегда опасно при работе в интерактивном сеансе. Для воспроизведения вещей вы всегда должны использовать автономный минимальный рабочий пример. Наверное, вы не можете предоставить это нам.

Заключение о том, что что-то не удается для «неровных» длин, является немного суровым, из всего лишь одного простого теста :-). Кроме того, как указал DSM, в вашем первом фрагменте выход не подходит для ввода (по длине). Вы не должны копировать/вставлять несвязанные входные и выходные данные, просто чтобы они выглядели как связанные, даже если вы думаете, что было связано. Пусть компьютер скажет вам.

Для меня, все работает, как ожидалось:

>>> A = np.array([0.5, 2., 0.1, 12., 0.8]) 
>>> B = np.ones(len(A)) 
>>> A<B 
array([ True, False, True, False, True], dtype=bool) 
+0

Спасибо за ответ! Я скопировал ваш код, все та же проблема. Какие версии? – ProtonK

+0

Начните с нового процесса Python, импортируйте numpy как np' и запустите три строки. Еще недействительный вывод? –

+0

Не волнуйтесь, я несколько раз пробовал, все та же проблема. Тем не менее, он отлично работает с NumPy 1.8.2 на другой машине. – ProtonK