Salinan Array NumPy vs Tampilan

Perbedaan antara salinan dan tampilan

Perbedaan utama antara salinan dan tampilan array adalah bahwa salinan adalah array baru, sedangkan tampilan hanya tampilan array asli.

Salinan mempunyai data, setiap perubahan yang dilakukan pada salinan tidak akan mempengaruhi array asli, dan setiap perubahan yang dilakukan pada array asli juga tidak akan mempengaruhi salinan.

Tampilan tidak memiliki data, setiap perubahan yang dilakukan terhadap tampilan akan mempengaruhi array asli, dan setiap perubahan yang dilakukan terhadap array asli akan mempengaruhi tampilan.

Salinan:

Instan

Lakukan salinan, ubah array asli, dan tampilkan dua array:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
arr[0] = 61
print(arr) 
print(x)

Jalankan Instan

Salinan ini seharusnya tidak terpengaruh oleh perubahan yang dilakukan terhadap array asli.

Tampilan:

Instan

Buat tampilan, ubah array asli, dan tampilkan dua array:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
arr[0] = 61
print(arr) 
print(x)

Jalankan Instan

Tampilan seharusnya terpengaruh oleh perubahan yang dilakukan terhadap array asli.

Ubah dalam tampilan:

Instan

Buat tampilan, ubah tampilan, dan tampilkan dua array:

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

Jalankan Instan

Array asli seharusnya terpengaruh oleh perubahan yang dilakukan terhadap tampilan.

Cek apakah array memiliki data

Seperti yang disebutkan sebelumnya, salinan memiliki data, sementara tampilan tidak memiliki data, tetapi bagaimana cara mengeceknya?

Setiap array NumPy memiliki properti basejika array memiliki data, properti base ini mengembalikan None.

Lainnya,base Properti akan mengacu ke objek asli.

Instan

Cetak nilai properti base untuk memeriksa apakah array memiliki data sendiri:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
y = arr.view()
print(x.base)
print(y.base)

Jalankan Instan

Salinan Kembali None.

Tampilan Kembali ke Array Asli