У меня есть массив numpy, похожий на этот:
a = np.array([[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ],
[0.87, 1.10, 2.01, 0.81 , 0.64, 0. ]])
Мне нравится манипулировать этим, устанавливая нулевую нижнюю часть. Вместо того, чтобы циклически проходить по строкам и столбцам, я хочу добиться этого с помощью индексации:
ix = np.array([[1, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 1],
[0, 0, 1, 1, 1, 1],
[0, 0, 0, 1, 1, 1],
[0, 0, 0, 0, 1, 1],
[0, 0, 0, 0, 0, 1]])
Однако a[ix]
не дает того, что я ожидаю, поскольку a[ix].shape
теперь (6,6,6)
, то есть добавлено новое измерение. Что мне нужно сделать, чтобы сохранить форму a
, но со всеми нулями в левом нижнем углу?