Если вы имеете в виду, что у вас матрица m*n
, то вы можете использовать свой двоичный массив в качестве логического значения для индексации своей матрицы:
mat[:,bin_vect.astype('bool')]
Пример:
n=5
bin_vect = np.random.choice([0,1],n)
>>> bin_vect
array([1, 0, 0, 1, 1])
mat = np.random.random(size=(10,n))
>>> mat
array([[0.15735662, 0.65755895, 0.30765648, 0.31206966, 0.26966997],
[0.6809805 , 0.25911918, 0.97581884, 0.04420062, 0.08590758],
[0.89132816, 0.81135223, 0.70684902, 0.72172889, 0.13525593],
[0.23461475, 0.40596346, 0.53653079, 0.29897461, 0.07874171],
[0.3729509 , 0.3591687 , 0.26103426, 0.60064124, 0.94791038],
[0.7525988 , 0.16741262, 0.63850992, 0.43386548, 0.62131853],
[0.50257526, 0.32734492, 0.15407767, 0.24540467, 0.18555366],
[0.37653621, 0.09854166, 0.84080664, 0.67745231, 0.57761115],
[0.92529631, 0.61171514, 0.8233337 , 0.33633327, 0.79718777],
[0.39061711, 0.01156666, 0.73085425, 0.77808632, 0.86046158]])
>>> mat[:,bin_vect.astype('bool')]
array([[0.15735662, 0.31206966, 0.26966997],
[0.6809805 , 0.04420062, 0.08590758],
[0.89132816, 0.72172889, 0.13525593],
[0.23461475, 0.29897461, 0.07874171],
[0.3729509 , 0.60064124, 0.94791038],
[0.7525988 , 0.43386548, 0.62131853],
[0.50257526, 0.24540467, 0.18555366],
[0.37653621, 0.67745231, 0.57761115],
[0.92529631, 0.33633327, 0.79718777],
[0.39061711, 0.77808632, 0.86046158]])