1

我有一个包含整数和切片对象的 numpy 数组,例如:

x = np.array([0,slice(None)])

如何检索整数或切片对象的(逻辑)索引?我试过np.isfinite(x)(产生错误),np.isreal(x)(全部True), np.isscalar(x)(不是元素方面),都是徒劳的。似乎有效的是

ind = x<np.Inf       # Out[1]: array([True, False], dtype=bool)

但我不愿意对数值完全任意的对象使用数值比较(并且将来可能会改变?)。有没有更好的解决方案来实现这一目标?

4

1 回答 1

1

你可以这样做:

import numpy as np
checker = np.vectorize( lambda x: isinstance(x,slice) )
x = np.array([0,slice(None),slice(None),0,0,slice(None)])
checker(x)
#array([False,  True,  True, False, False,  True], dtype=bool)
于 2013-05-12T16:15:28.740 回答