Операции индексирования
Операции индексирования в NumPy могут создавать либо представления, либо копии, в зависимости от типа индексирования.
- Базовое индексирование всегда создает представления. Например:
import numpy as np
## Создать массив
x = np.arange(10)
## Создать представление
y = x[1:3]
## Изменить представление
y[0] = 10
## Распечатать исходный массив
print(x) ## Вывод: [0, 10, 2, 3, 4, 5, 6, 7, 8, 9]
В приведенном выше примере представление y
отражает изменения, внесенные в исходный массив x
.
- Расширенное индексирование всегда создает копии. Например:
import numpy as np
## Создать массив
x = np.arange(9).reshape(3, 3)
## Создать копию
y = x[[1, 2]]
## Изменить исходный массив
x[[1, 2]] = [[10, 11, 12], [13, 14, 15]]
## Распечатать копию
print(y) ## Вывод: [[3, 4, 5], [6, 7, 8]]
В приведенном выше примере копия y
остается неизменной после изменения исходного массива x
.