Неизменный массив NumPy? - PullRequest
       14

Неизменный массив NumPy?

62 голосов
/ 04 апреля 2011

Есть ли простой способ создания неизменяемого массива NumPy?

Если для этого нужно извлечь класс из ndarray, какой минимальный набор методов нужно переопределить для достижения неизменности?

1 Ответ

93 голосов
/ 04 апреля 2011

Вы можете сделать пустой массив для перезаписи:

a = np.arange(10)
a.flags.writeable = False
a[0] = 1
# Gives: RuntimeError: array is not writeable

Также смотрите обсуждение в этой теме:

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

и документацию:

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

...