In the example about the ravel()
function, views were mentioned. Views should not be confused with the concept of database views. Views in the NumPy world are not read-only, and you don't have the possibility to protect the underlying data. It is important to know when we are dealing with a shared array view and when we have a copy of array data. A slice, for instance, will create a view. This means that if you assign a slice to a variable and then change the underlying array, the value of this variable will change. We will create an array from the famous Lena image, copy the array, create a view, and at the end, modify the view. The Lena image array comes from a SciPy function.
To create a copy of the Lena array, the following line of code is used:
acopy = lena.copy()
Now, to create a view of the array, use the following line of code:
aview = lena.view()
Set all the values of the view to
0
with a flat iterator, as follows:aview.flat = 0
The end result is that only one...