Как узнать, создает ли NumPy представление или копию?

В качестве минимального рабочего примера давайте оцифруем двумерный массив. numpy.digitizeтребуется одномерный массив:

import numpy as np
N = 200
A = np.random.random((N, N))
X = np.linspace(0, 1, 20)
print np.digitize(A.ravel(), X).reshape((N, N))

Теперь в документации говорится:

... A copy is made only if needed.

Как узнать, нужна ли копия ravelв данном случае? В общем -есть ли способ определить, создает ли конкретная операция копию или представление?

62
задан Peter Mortensen 9 October 2014 в 17:52
поделиться