Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Immutable numpy array?

Is there a simple way to create an immutable NumPy array?

If one has to derive a class from ndarray to do this, what's the minimum set of methods that one has to override to achieve immutability?

like image 785
NPE Avatar asked Apr 04 '11 16:04

NPE


People also ask

Is NumPy array immutable?

Numpy Arrays are mutable, which means that you can change the value of an element in the array after an array has been initialized.

Do NumPy arrays have immutable size?

Numpy DOES NOT have an immutable array.

Is array immutable in Python?

An array is mutable. An array can be accessed by using its index number.


1 Answers

You can make a numpy array unwriteable:

a = np.arange(10) a.flags.writeable = False a[0] = 1 # Gives: ValueError: assignment destination is read-only 

Also see the discussion in this thread:

http://mail.scipy.org/pipermail/numpy-discussion/2008-December/039274.html

and the documentation:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flags.html

like image 126
JoshAdel Avatar answered Nov 04 '22 08:11

JoshAdel