NumPy Array Copy vs View

 


The Difference Between Copy and View

Perbedaan utama antara copy dan view array adalah bahwa copy adalah array baru, dan view hanyalah tampilan array asli.

Copy memiliki data dan setiap perubahan yang dibuat pada copy tidak akan memengaruhi array asli. dan setiap perubahan yang dibuat pada array asli tidak akan memengaruhi salinan.

View tidak memiliki data dan perubahan apa pun yang dilakukan pada tampilan akan memengaruhi array asli, dan setiap perubahan yang dibuat pada array asli akan memengaruhi tampilan.

Copy:
Contoh
Buat salinan/copy, ubah array asli, dan tampilkan kedua array.
import numpy as np

arr = np.array([12345])
x = arr.copy()
arr[0] = 42

print(arr)
print(x)

Salinan TIDAK HARUS terpengaruh oleh perubahan yang dibuat pada array asli.

View:
Contoh
Buat tampilan/view, ubah array asli, dan tampilkan kedua array.
import numpy as np

arr = np.array([12345])
x = arr.view()
arr[0] = 42

print(arr)
print(x)

Tampilan/view HARUS dipengaruhi oleh perubahan yang dibuat pada array asli.

Make Changes in the View

Contoh
Buat tampilan/view, ubah tampilan, dan tampilkan kedua array.
import numpy as np

arr = np.array([12345])
x = arr.view()
x[0] = 31

print(arr)
print(x)

Array asli HARUS dipengaruhi oleh perubahan yang dibuat pada tampilan/view.

Check if Array Owns its Data

Seperti disebutkan di atas, salinan/copy memiliki data, dan tampilan tidak memiliki data, tetapi bagaimana cara memeriksanya?

Setiap array NumPy memiliki atribut base yang kembali None jika array memiliki data.

Jika tidak, base atribut mengacu pada objek asli.

Contoh
Cetak nilai atribut dasar untuk memeriksa apakah array memiliki datanya atau tidak.
import numpy as np

arr = np.array([12345])

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

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

Salinan/Copy kembali None. Tampilan/view mengembalikan array asli.

Komentar

Postingan populer dari blog ini

NumPy Array Search

NumPy Array Split

NumPy Array Iterating