NumPy Массив Хуулбарлах VS Үзүүлэх
Массивыг хуулах болон харуулахын гол ялгаа гэвэл хуулсан массив нь шинэ массив бөгөөд харгдах байдал нь анхны массивтай адил байна.
Хуулбар массив нь өгөгдлийг өөр дээрээ эзэмшдэг. Хуулбарт оруулсан өөрчлөлт анхны массивт нөлөөлөхгүй бөгөөд анхны массивт оруулсан өөрчлөлт нь хувилбарт мөн адил нөлөөлөхгүй.
Харагдах байдал нь өгөгдлийг эзэмшдэггүй бөгөөд үзэгдэх байдалд оруулсан өөрчлөлт нь анхны массивт нөлөөлж, анхны массивт оруулсан өөрчлөлт нь үзэгдэх байдалд.
Copy буюу Хуулах
Жишээ нь
Массивыг хуулбарлаж, анхны массивын утгыг өөрчилж, дэлгэцэд 2-н хэвлэж үзье.
import numpy as np
mas = np.array([1, 2, 3, 4, 5])
x = mas.copy()
mas[0] = 36
print (mas)
print (x)
Үр дүн
[36 2 3 4 5]
[1 2 3 4 5]
Эх массивын өөрчлөлтөд хуулбарласан массив нөлөөлөх ёсгүй.
Үзүүэлх буюу View
Жишээ нь
Анхны массивын утгыг өөрчилж, дэлгэцэд 2-н хэвлэж үзье.
import numpy as np
mas = np.array([1, 2, 3, 4, 5])
x = mas.view()
mas[0] = 36
print (mas)
print (x)
Үр дүн
[36 2 3 4 5]
[36 2 3 4 5]
Эх массивын оруулсан өөрчлөлт харуулах байдалд нөлөөлөхгүй.
Үзүүэлх буюу View-г өөрчилж үзье
Жишээ нь
View-н утгыг өөрчилж, дэлгэцэд 2-н хэвлэж үзье.
import numpy as np
mas = np.array([1, 2, 3, 4, 5])
x = mas.view()
x[0] = 36
print (mas)
print (x)
Үр дүн
[36 2 3 4 5]
[36 2 3 4 5]
View дээр оруулсан өөрчлөлт анхны массив нөлөөлнө.
Массивын өгөгдлийг үндсэн массив мөн эсэхийн шалгаж үзье
Дээрх жишээнд хуулбар массив нь үндсэн массивын өгөдлийн эзэмшдэг бөгөөд үндсэн массив биш гэдгийг бид ойлгож авсан.
Тэгвэл үндсэн массив мөн эсвэл биш гэдгийг дараах байдлаар шалгана.
Жишээ нь
View-н утгыг өөрчилж, дэлгэцэд 2-н хэвлэж үзье.
import numpy as np
mas = np.array([1, 2, 3, 4, 5])
x = mas.view()
y = mas.copy()
print (x.base)
print (y.base)
Үр дүн
[36 2 3 4 5]
none
copy нь none
-г буцаана.
view нь үндсэн массивын буцаана