为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除numpy数组中的特定元素

如何删除numpy数组中的特定元素

慕仙森 2019-10-25 15:19:43
如何从numpy数组中删除某些特定元素?说我有import numpy as npa = np.array([1,2,3,4,5,6,7,8,9])然后我想删除3,4,7的a。我所知道的只是值的索引(index=[2,3,6])。
查看完整描述

3 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

使用numpy.delete() -返回一个新的数组,该数组具有沿删除的轴的子数组


numpy.delete(a, index)

对于您的特定问题:


import numpy as np


a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

index = [2, 3, 6]


new_a = np.delete(a, index)


print(new_a) #Prints `[1, 2, 5, 6, 8, 9]`

请注意,numpy.delete()由于数组标量是不变的,因此返回一个新数组,类似于Python中的字符串,因此每次对其进行更改时,都会创建一个新对象。即,引用delete() 文档:


“ 删除了obj指定的元素的arr 副本。请注意,删除不会就地发生 ...”


如果我发布的代码已输出,则是运行代码的结果。


查看完整回答
反对 回复 2019-10-25
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

有一个内置的numpy函数可以帮助您。


import numpy as np

>>> a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> b = np.array([3,4,7])

>>> c = np.setdiff1d(a,b)

>>> c

array([1, 2, 5, 6, 8, 9])


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 16781 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信