В приведенном ниже коде проверяется, если каждый элемент суб-массивов больше 2 и дает результат в своих соответствующих подматрицах:
2d_array=np.array([[1,2,3,4],[4,56,7,1]])
for elem in 2d_array:
print(elem[elem[:]>2])
Выход:
[3 4]
[ 4 56 7]
Можем ли мы сделать то же самое без использования for loop
, предпочтительно использовать функции numpy
.
Numpy создает массивы. В вашем случае каждая результирующая строка имеет разную длину, поэтому вы не можете получить массив, просто список списков.
Однако, если вы хотите собрать все значения в 1D-массив, вы можете просто сделать
vaulues = array_2d[array_2d > 2]