猿问

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

如何从numpy数组中删除某些特定元素?说我有


import numpy as np


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

然后我想删除3,4,7的a。我所知道的只是值的索引(index=[2,3,6])。


慕仙森
浏览 16782回答 3
3回答

隔江千里

使用numpy.delete() -返回一个新的数组,该数组具有沿删除的轴的子数组numpy.delete(a, index)对于您的特定问题:import numpy as npa = 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 副本。请注意,删除不会就地发生 ...”如果我发布的代码已输出,则是运行代码的结果。

汪汪一只猫

有一个内置的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)>>> carray([1, 2, 5, 6, 8, 9])
随时随地看视频慕课网APP

相关分类

Python
我要回答