Индексы и срезы у массивов NumPy

Индексирование и срезы

Делать срезы данных в NumPy очень просто. Сейчас мы будем брать срезы матрицы ‘e’. Заметим, что для того чтобы получать отдельные ряды или колонки, нам нужно будет использовать квадратные скобки.

## Slice
import numpy as np
e  = np.array([(1,2,3), (4,5,6)])
print(e)
[[1 2 3]
 [4 5 6]]

Не забывайте, что в NumPy первый элемент массива/ряда/колонки начинается с 0.

## Первый ряд
print('First row:', e[0])

## Второй ряд
print('Second row:', e[1]

Output:

First row: [1 2 3]
Second row: [4 5 6]

В Python, как и во многих других языках:

  • значение перед запятой относится к рядам;
  • значение после запятой относится к колонкам;
  • если вы хотите выбрать всю колонку, вам надо добавить : перед индексом; двоеточие означает, что вы хотите выбрать все ряды из этой колонки.
print('Second column:', e[:,1])
Second column: [2 5]

Возьмем первые два значения второго ряда. Мы используем :, чтобы получить данные из всех колонок до второй.

## Second Row, two values
  print(e[1, :2])			
  [4 5]