Home » python » NumPy Copy vs View

NumPy Copy vs View

by Catur Kurnia Sari
by Catur Kurnia Sari

Perbedaan Antara Copy dan View adalah:

Perbedaan utama antara copy dan view pada array adalah copy berupa array baru, dan view hanya berupa tampilan array asli.

Copy memiliki data dan perubahan apapun yang dilakukan pada copy tidak akan memengaruhi array asli, dan perubahan apa pun yang dibuat pada array asli tidak akan memengaruhi copy.

View tidak memiliki data dan perubahan apapun yang dilakukan pada view akan memengaruhi array asli, dan setiap perubahan yang dibuat pada array asli akan memengaruhi view.

Section Artikel

COPY

Contoh:
Buat copy array, ubah array asli, dan tampilkan kedua array

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
arr[0] = 42

print(arr)
print(x)

Copy TIDAK BOLEH terpengaruh oleh perubahan yang dilakukan pada array asli.

VIEW

Contoh:
Buat view, ubah array asli, dan tampilkan kedua array

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
arr[0] = 42

print(arr)
print(x)

View HARUS dipengaruhi oleh perubahan yang dibuat pada array asli.

Lakukan Perubahan di VIEW

Contoh:
Buat view, ubah view, dan tampilkan kedua array

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
x[0] = 31

print(arr)
print(x)

Array asli HARUS dipengaruhi oleh perubahan yang dibuat pada view.

Periksa apakah Array Memiliki Datanya

Seperti disebutkan di atas, copy memiliki data, dan view tidak memiliki data, tetapi bagaimana kita dapat memeriksanya?

Setiap array NumPy memiliki basis atribut yang mengembalikan None jika array memiliki datanya.

Jika tidak, atribut dasar mengacu pada objek asli.

Contoh:
Cetak nilai atribut dasar untuk memeriksa apakah sebuah array memiliki datanya atau tidak

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

x = arr.copy()
y = arr.view()

print(x.base)
print(y.base)

Copy mengembalikan None.
View mengembalikan array asli.

You may also like