【发布时间】:2012-09-13 03:20:27
【问题描述】:
一个简单的numpy索引示例:
In: a = numpy.arange(10)
In: sel_id = numpy.arange(5)
In: a[sel_id]
Out: array([0,1,2,3,4])
如何返回未被 sel_id 索引的数组的其余部分?我能想到的是:
In: numpy.array([x for x in a if x not in a[id]])
out: array([5,6,7,8,9])
有没有更简单的方法?
【问题讨论】:
-
这是一次操作吗?或者你会在路上重复使用
sel_id(这是否定的)?另外,您是对多维案例感兴趣,还是只对一维案例感兴趣? -
在我的应用中,会在多维海量数组上操作,是的,我会复用sel_id。
-
刚刚意识到我上面的解决方案是错误的。如果它是一个包含十个 1 的数组,那么给定的代码将给出一个 None 数组,而不是一个包含五个 1 的数组。
标签: python arrays numpy indexing scipy