Verkleinern Sie das NumPy-Array auf eine kleinere Größe ohne Kopie

Wenn ich ein numpy Array mit der resize Methode schrumpfe (dh das Array wird aufgrund der resize kleiner), ist es garantiert, dass keine Kopie gemacht wird?

Beispiel:

 a = np.arange(10) # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) a.resize(5, refcheck=False) # array([0, 1, 2, 3, 4]) 

Aus meinem Verständnis sollte dies immer möglich sein, ohne eine Kopie zu machen. Meine Frage: Ist die Umsetzung in der Tat sicher, dass dies immer der Fall ist? Leider sagt die Dokumentation von resize nichts davon.

One Solution collect form web for “Verkleinern Sie das NumPy-Array auf eine kleinere Größe ohne Kopie”

Ein numpy Array ist ein fester Größe Array im Hintergrund, jede Art von Größenänderung wird immer das Array kopieren.

Nachdem Sie das gesagt haben, könnten Sie eine Scheibe des Arrays effektiv nur mit einer Teilmenge des Arrays erstellen, ohne die Größe zu ändern / zu kopieren.

 >>> import numpy >>> a = numpy.arange(10) >>> b = a[:5] >>> a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> b array([0, 1, 2, 3, 4]) >>> >>> a += 10 >>> a array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19]) >>> b array([10, 11, 12, 13, 14]) >>> >>> b += 10 >>> a array([20, 21, 22, 23, 24, 15, 16, 17, 18, 19]) >>> b array([20, 21, 22, 23, 24]) 
  • Zuordnen eines neuen Wertes in der DataFrame-Spalte auf der Grundlage der Gruppe max
  • Wie baue ich ein Array mit verketteten Vergleichen?
  • Erzeugen eines remapped numpy Arrays als Ansicht.
  • Wie verwende ich einen bestimmten Spaltenwert in einer Pandas DataFrame where-Klausel?
  • Konvertieren Sie 3D-Array in numpy aus bestehenden 2d-Array
  • Lesen von ungleichmäßigen Daten aus Datei in Array mit NumPy
  • Python + OpenCV + py2app: numpy.core.multiarray konnte nicht importiert werden
  • Ld.exe: kann nicht finden -lvcruntime140 beim Kompilieren vorher arbeiten Cython-Modul auf neue 3.5 installieren
  • Interpolation einer 3D-Oberfläche, die an ihren Eckknoten bekannt ist und mit einer Farbkarte färbt
  • Pythonische Möglichkeit, Listenwerte mit Ober- und Untergrenze zu ersetzen (Klemmen, Clipping, Schwellenwert)?
  • Scipy Interpolation mit maskierten Daten?
  • Python ist die beste Programmiersprache der Welt.