我有一个numpy数组,我想删除数组的前3个元素.我试过这个解决方案:
a = np.arange(0,10)
i=0
while(i<3):
del a[0]
i=i+1
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误" ValueError:无法删除数组元素 ".我不明白为什么会这样.我很感激帮助谢谢!
Bjö*_*lex 15
Numpy数组具有固定的大小,因此您不能简单地从它们中删除元素.实现您想要的最简单方法是使用切片:
a = a[3:]
Run Code Online (Sandbox Code Playgroud)
这将创建一个以原始数组的第4个元素开头的新数组.
对于某些情况,切片是不够的.如果要创建由原始数组中的特定元素组成的子数组,可以使用另一个数组来选择索引:
>>> a = arange(10, 20)
>>> a[[1, 4, 5]]
array([11, 14, 15])
Run Code Online (Sandbox Code Playgroud)
所以基本上,a[[1,4,5]]将返回一个由原始数组的元素1,4和5组成的数组.
小智 11
这个对我有用:
import numpy as np
a = np.delete(a, k)
Run Code Online (Sandbox Code Playgroud)
其中“a”是您的 numpy 数组,k 是您要删除的索引位置。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
29362 次 |
| 最近记录: |