Pour un exemple de travail minimal, numérisons un tableau 2D. numpy.digitize
nécessite un tableau 1D :
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))
Aujourd'hui, le la documentation dit :
... Une copie n'est faite qu'en cas de besoin.
Comment savoir si le ravel
copie est "nécessaire" dans ce cas ? De manière générale, existe-t-il un moyen de déterminer si une opération particulière crée une copie ou une vue ?