Python 使用numpy将数据放置到不连续的容器中

Python 使用numpy将数据放置到不连续的容器中,python,numpy,binning,Python,Numpy,Binning,我有一个整数列表,还有一个不连续的容器列表,我想看看是否有任何整数落入其中 我可以使用numpy.digitalize实现这种效果,然后简单地忽略任何偶数编号的垃圾箱,但是我觉得必须有一种不那么不雅观的方法来做到这一点 例如,稍微简化数据,假设我有4个值;3000000、3275812400000和4657000。我想看看这些是否落入两个箱子[32758123276886]或[46567304657770]中的任何一个。目前我有: x = np.array([3000000, 3275812,

我有一个整数列表,还有一个不连续的容器列表,我想看看是否有任何整数落入其中

我可以使用numpy.digitalize实现这种效果,然后简单地忽略任何偶数编号的垃圾箱,但是我觉得必须有一种不那么不雅观的方法来做到这一点

例如,稍微简化数据,假设我有4个值;3000000、3275812400000和4657000。我想看看这些是否落入两个箱子[32758123276886]或[46567304657770]中的任何一个。目前我有:

x = np.array([3000000, 3275812, 4000000, 4657000])
bins = np.array([3275812,3276886,4656730,4657770])
inds = np.digitize(x, bins)
inds给了我值[0,1,2,3],如果我忽略任何偶数,它会给我期望的结果


是否有任何东西可以明确给出结果[0,1,0,2]或类似的结果,而不必改变IND?

我认为您的解决方案已经相当优雅:np.digitalex,bins[1::2]对我来说并不过于复杂。我也不认为,如果你用C编写自己的解决方案,你会获得很多速度。如果你有两个连续的存储箱,请小心丢弃偶数值