是否可以查询带有间隔的熊猫IntervalIndex

时间:2018-09-20 15:01:38

标签: python pandas python-3.6 intervals

我只是想知道是否有一种方法可以查询带有间隔(或范围)的Pandas IntervalIndex,最终返回IntervalIndex中与查询的Interval重叠的所有Interval。

例如给定一个IntervalIndex idx

[1,3]
[5,8]
[10,12]

我想在同一域中使用新的间隔查询:

new_interval = pd.Interval(2, 6, closed="both")

是这样的:

idx.get_loc(new_interval)

>> array([0, 1])

是否有一种方法(除了直接使用间隔树之外)?

1 个答案:

答案 0 :(得分:2)

使用get_indexer

In [1]: import pandas as pd; pd.__version__
Out[1]: '0.23.4'

In [2]: idx = pd.IntervalIndex.from_tuples([(1, 3), (5, 8), (10, 12)], closed='both')

In [3]: idx
Out[3]:
IntervalIndex([[1, 3], [5, 8], [10, 12]]
              closed='both',
              dtype='interval[int64]')

In [4]: new_interval = pd.Interval(2, 6, closed='both')

In [5]: idx.get_indexer([new_interval])
Out[5]: array([0, 1], dtype=int64)