Копия NumPy массива vs Визуализация
- Предыдущая страница Типы данных NumPy
- Следующая страница Форма массивов NumPy
Различие между копией и видом
Основное различие между копией и массивом-видом заключается в том, что копия - это новый массив, а это вид - только вид на исходный массив.
Копия содержит данные, любые изменения, внесенные в копию, не влияют на исходный массив, и любые изменения в исходном массиве не влияют на копию.
Вид не имеет данных, любые изменения, внесенные в вид, будут влиять на оригинальный массив, и любые изменения, внесенные в оригинальный массив, будут влиять на вид.
Дубликат:
Пример
Сделайте копию, измените оригинальный массив и покажите два массива:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() arr[0] = 61 print(arr) print(x)
Этот дубликат не должен受到影响 от изменений, внесенных в оригинальный массив.
Вид:
Пример
Создайте вид, измените оригинальный массив и покажите два массива:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() arr[0] = 61 print(arr) print(x)
Вид должен受到影响 от изменений, внесенных в оригинальный массив.
Изменения в виде:
Пример
Создайте вид, измените вид и покажите два массива:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() x[0] = 31 print(arr) print(x)
Оригинальный массив должен受到影响 от изменений, внесенных в вид.
Проверка наличия данных в массиве
Как было сказано выше, копия имеет данные, а вид не имеет данных, но как мы можем это проверить?
У каждого NumPy массива есть свойство base
Если массив имеет данные, то этот атрибут base возвращает None
.
В противном случае,base
Свойства будут ссылаться на исходный объект.
Пример
Печатайте значение свойства base, чтобы проверить, имеет ли массив свои данные:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() y = arr.view() print(x.base) print(y.base)
Копия возвращает None
.
Вид возвращает исходный массив.
- Предыдущая страница Типы данных NumPy
- Следующая страница Форма массивов NumPy