85 Stimmen

Wie kann ich feststellen, ob NumPy eine Ansicht oder eine Kopie erstellt?

Als minimales Arbeitsbeispiel wollen wir ein 2D-Array digitalisieren. numpy.digitize erfordert ein 1D-Array:

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))

Jetzt ist die Dokumentation sagt :

... Eine Kopie wird nur bei Bedarf erstellt.

Woher weiß ich, ob die ravel Kopieren ist in diesem Fall "notwendig"? Gibt es eine Möglichkeit festzustellen, ob eine bestimmte Operation eine Kopie oder eine Ansicht erstellt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X