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([1, 2, 3, 4, 5])
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([1, 2, 3, 4, 5])
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([1, 2, 3, 4, 5])
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([1, 2, 3, 4, 5])
x = arr.copy()
y = arr.view()
print(x.base)
print(y.base)Salinan/Copy kembali None. Tampilan/view mengembalikan array asli.

Komentar
Posting Komentar