一个有趣的问题:
我想从numpy数组中删除一些元素,但就像下面简化的示例代码一样,如果不删除最后一个元素,它可以正常工作,但如果我们想要删除最后一个元素,则会失败。 以下代码有效:
import numpy as np
values = np.array([0,1,2,3,4,5])
print values
for i in [3,4,1]:
values = np.delete(values,i)
print values
输出结果为:
[0 1 2 3 4 5]
[0 2 4]
如果我们只将4改为5,那么它将失败。
import numpy as np
values = np.array([0,1,2,3,4,5])
print values
for i in [3,5,1]:
values = np.delete(values,i)
print values
错误信息:
IndexError: index 5 is out of bounds for axis 0 with size 5
为什么只有在删除最后一个元素时才会出现这个错误?如何正确执行此类任务?