Мне нужно использовать pd.Interval для выбора записей в нескольких диапазонах бинов.
df = pd.DataFrame({'my_col': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]})
df['my_col_bin'] = pd.cut(x=df['my_col'], bins=[0, 3, 6, 9, 12], right=False, include_lowest=True)
my_col my_col_bin
0 1 [0, 3)
1 2 [0, 3)
2 3 [3, 6)
3 4 [3, 6)
4 5 [3, 6)
5 6 [6, 9)
6 7 [6, 9)
7 8 [6, 9)
8 9 [9, 12)
9 10 [9, 12)
10 11 [9, 12)
Например, я бы хотел выбрать все записи, попадающие в диапазон [3, 12). Я хотел бы получить следующий вывод, используя один диапазон pd.Interval, без указания условия для каждого интервала отдельно:
2 3 [3, 6)
3 4 [3, 6)
4 5 [3, 6)
5 6 [6, 9)
6 7 [6, 9)
7 8 [6, 9)
8 9 [9, 12)
9 10 [9, 12)
10 11 [9, 12)
Я пробовал следующее, но это не сработало.
df[df['my_col_bin'] == pd.Interval(3, 12, closed='left')]
Следующий выбор работает на одном интервале, но кажется, что pd.Interval не поддерживает несколько диапазонов.
df[df['my_col_bin'] == pd.Interval(3, 6, closed='left')]
Можно ли выбрать диапазон между ячейками без явного указания каждого условия интервала? Существует ли краткий способ выбора без фильтрации для каждого интервала отдельно?