Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

python
communitycreator

What is the difference between copy() and view() in Numpy?

Harsh Jain

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

What is copy() and view() in NumPy?

Both copy() and view() are used to copy data and then perform operations on itthe copied data.

The only difference between these two functions is that the copy() function will create a separate NumPy array (if you make any changes in this copied array, it will not affect original array, and vice-versachanges made to the original array will not affect the copied array). But, with the view() function there will not be a separate NumPy array and, if you make any changes to this new array, it will affect the original array and vice-versachanges made to the original array will affect the new array.

How to verify the difference between copy() and view()

Take a look at the code snippet below – it verifies the difference we discussed above.

import numpy as np
print('copy() function usage')
numpy_array = np.array([1,2,3,4,5])
print('Original NumPy array: ',numpy_array)
copy_array = numpy_array.copy()
numpy_array[0] = 42
print('Updated NumPy array: ',numpy_array)
print('Copied NumPy array: ',copy_array)
print('view() function usage')
numpy_array = np.array([1,2,3,4,5])
print('Original NumPy array: ', numpy_array)
view_array = numpy_array.view()
numpy_array[0] = 99
print('Updated NumPy array: ',numpy_array)
print('View NumPy array: ',view_array)
Difference between copy() and view() function in NumPy

Explanation:

  • On line 1, we import the required package.

  • On line 4, we create a NumPy array that contains 5 elements.

  • On line 6, we use the copy() function to create a copy of the array created in the previous step.

  • On line 7, we update one element in the original array.

  • On lines 8 and 9, we print those two arrays to see the elements in the arrays.

    We can see that there was a change in the original array, but it did not affect the copied array.

  • On line 12, we create a NumPy array that contains 5 elements.

  • On line 14, we use the view() function to create a view of the array created in the previous step.

  • On line 15, we update one element in the original array.

  • On lines 16 and 17, we print those two arrays to see the elements in the arrays.

    We can see that there was a change in the original array and in the view array.

This confirms the difference between copy() and view() function.

RELATED TAGS

python
communitycreator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring