Извлечение первых n столбцов матрицы numpy - программирование

Извлечение первых n столбцов матрицы numpy

У меня есть такой массив:

  array([[-0.57098887, -0.4274751 , -0.38459931, -0.58593526],
         [-0.22279713, -0.51723555,  0.82462029,  0.05319973],
         [ 0.67492385, -0.69294472, -0.2531966 ,  0.01403201],
         [ 0.41086611,  0.26374238,  0.32859738, -0.80848795]])

Теперь я хочу извлечь следующее:

   [-0.57098887, -0.4274751]
   [-0.22279713, -0.51723555]
   [ 0.67492385, -0.69294472]
   [ 0.41086611,  0.26374238]

Итак, в основном только первые 2 столбца.

4b9b3361

Ответ 1

Если a - ваш массив:

In [11]: a[:,:2]
Out[11]: 
array([[-0.57098887, -0.4274751 ],
       [-0.22279713, -0.51723555],
       [ 0.67492385, -0.69294472],
       [ 0.41086611,  0.26374238]])

Ответ 2

Я знаю этот довольно старый вопрос -

A = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

Предположим, вы хотите извлечь - первые 2 строки и первые 3 столбца

A_NEW = A[0:2,0:3]
A_NEW = [[1,2,3],[4,5,6]]

Понимание синтаксиса

A_NEW = A[Start_index : stop_index, start_index : stop_index)]

Если требуется строка 2 и столбец 2 и 3

A_NEW = A[1:2,1:3]

Ссылка на статью индексирования и резки numpy - Индексирование и разбиение на разделы