NumPy dizi kopyası vs görünüm
- Önceki Sayfa NumPy Kopya/View
- Sonraki Sayfa NumPy Dizi Yeniden Şekillendirme
Kopya ve görünüm arasındaki fark
Kopya ve dizi görünümü arasındaki ana fark, kopyanın yeni bir dizi olmasından, bu görünümün ise orijinal dizinin görünümü olmasından kaynaklanmaktadır.
Kopya, kopyaya yapılan herhangi bir değişiklik, orijinal dizinin etkilenmesine neden olmaz ve orijinal dizine yapılan herhangi bir değişiklik de kopyayı etkilemez.
Görünüm veriye sahip değildir, görünümde yapılan her türlü değişiklik orijinal dizini etkileyecek, orijinal dizine yapılan her türlü değişiklik de görünümü etkileyecektir.
Kopya:
Örnek
Kopyalama yapın, orijinal dizini değiştirin ve iki dizini gösterin:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() arr[0] = 61 print(arr) print(x)
Bu kopya, orijinal dizine yapılan değişikliklerden etkilenmeyecektir.
Görünüm:
Örnek
Görünüm oluşturma, orijinal dizini değiştirme ve iki dizini gösterme:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() arr[0] = 61 print(arr) print(x)
Görünüm, orijinal dizine yapılan değişikliklerden etkilenecektir.
Görünümde değişiklik yapma:
Örnek
Görünüm oluşturma, görünümde değişiklik yapma ve iki dizini gösterme:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.view() x[0] = 31 print(arr) print(x)
Orijinal dizin, görüntü üzerinde yapılan değişikliklerden etkilenecektir.
Dizinin veriye sahip olup olmadığını kontrol etme
Aşağıda belirtilen gibi, kopya veriye sahiptir,而视图不拥有数据,但是我们如何检查呢?
Her NumPy dizisi bir özellik base
Eğer bu dizin veriye sahipse, bu base özelliği şu şekilde döner: None
.
Aksi takdirde,base
Özellik orijinal nesneyi referans alacak.
Örnek
Dizinin kendi verilerine sahip olup olmadığını kontrol etmek için base özelliğinin değerini yazdırın:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) x = arr.copy() y = arr.view() print(x.base) print(y.base)
Kopya Dönüş None
.
Görünümü Geri Getir
- Önceki Sayfa NumPy Kopya/View
- Sonraki Sayfa NumPy Dizi Yeniden Şekillendirme