У меня есть два numpy массива. Один - это двумерный массив:
a = np.array([
[1,2,3,4],
[2,5,4,3],
[4,3,2,3],
[4,2,1,2]
])
Другой - это одномерный массив:
b = np.array([1,2,3,4,5])
Размеры a
и b
не обязательно совпадают.
Я хотел бы оценить логическую операцию a<b
на всех позициях a
против всех позиций на b
. Это просто с al oop over b
(сравнивая все элементы a
с одним элементом b
одновременно), но есть ли способ сделать это без циклов?
В качестве выходных данных я представляю трехмерный массив, в котором все позиции в a
оцениваются для всех позиций в b
следующим образом:
array([[[False False False False],
[False False False False],
[False False False False],
[False False False False]],
[[True False False False],
[False False False False],
[False False False False],
[False False True False]],
[[True True False False],
[ True False False False],
[False False True False],
[False True True True]],
[[True True True False],
[ True False False True],
[False True True True],
[False True True True]],
[[True True True True],
[ True False True True],
[ True True True True],
[ True True True True]]])