我有一个包含整数和切片对象的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)
但是我不愿意对一个数值完全随意的物体进行数值比较(以后可能会改变吗?)。有没有更好的解决方案来实现这一目标?
答案 0 :(得分: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)