Ich versuche, jede Spalte einer nach dem anderen von einem Array zu entfernen, und auf der Grundlage der Dokumentation und this question, dachte der folgenden funktionieren sollte:numpy.delete nicht Spalte aus dem Array entfernt
print(all_input_data.shape)
for n in range(9):
print(n)
testArray = all_input_data.copy()
print(testArray.shape)
np.delete(testArray,[n],axis=1)
print(testArray.shape)
print(testArray[0:1][:])
Das Original Matrix ist all_input_data.
Dadurch werden keine Spalten gelöscht oder andere Änderungen am Array generiert. Die ursprüngliche Ausgabe für das obige Snippet ist:
(682120, 9)
0
(682120, 9)
(682120, 9)
[[ 2.37000000e+02 1.60000000e+01 9.90000000e+01 1.04910000e+03
9.29000000e-01 9.86000000e-01 8.43000000e-01 4.99290000e+01
1.97000000e+00]]
Der Löschbefehl ändert die Form der Matrix überhaupt nicht.
Gemäß [der Dokumentation] (https://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html) gibt 'numpy.delete' eine _copy_ zurück, wobei die angegebene (n) Spalte (n) gelöscht wird . Beachten Sie außerdem, dass "n" für "n> = 5" ungültig ist, wenn Sie nacheinander Spalten aus dem Array löschen. Sie sollten stattdessen eine "while" -Schleife anwenden und immer die erste löschen. –