列刪除我試圖在同一時間從一個數組刪除每列一個,並根據文檔和this question上,認爲下列代碼應該起作用:numpy.delete不是從陣列
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][:])
原矩陣是all_input_data。
這不會導致任何列被刪除或對陣列產生任何其他更改。上面片段的初始輸出是:
(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]]
delete命令根本不會改變矩陣的形狀。
根據[文檔](https://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html),'numpy.delete'返回指定列被刪除的_copy_ 。還要注意,當連續刪除數組中的列時,對於n> = 5,'n'將無效。您應該使用'while'循環並始終刪除第一個循環。 –