Eine effiziente Möglichkeit zum löschen einer Spalte aus einer Numpy-array?

Wenn ich eine sehr große numpy-array mit einem nutzlosen Spalte, wie könnte ich es löschen ohne erstellen einer Kopie des ursprünglichen Arrays?

np.delete(my_np_array, 0, 1)

Der obige code wird zurückgeben einer Kopie des Arrays ohne die null-TEN Spalte. Aber stattdessen würde ich gerne einfach löschen, Spalte aus my_np_array da ich es nicht brauchen. Für sehr große Datensätze, die Speicher-management wird wichtig, und kopieren möglicherweise nicht eine option sein.

  • Verhinderung von Kopien in numpy ist leider schwieriges Geschäft. Wenn es das erste oder Letzte Spalte, können Sie wahrscheinlich Weg mit einem einfachen array-slice. Das wird wahrscheinlich nicht kopieren, das array jetzt, aber dann, wenn Sie gehen, um etwas kompliziertere Dinge mit, es gibt keine Garantie, dass Sie nicht bekommen Kopien (oder arrays) im code später (AFAIK).
  • Ist es möglich, um es zu laden anders in python? Wenn das array ist etwas, generiert aus den Daten, können wir etwas tun, um zu töten, die Spalte vor der hand? Wenn nicht, können wir Vorverarbeiten den array auf andere Weise, wie in MATLAB?
Schreibe einen Kommentar