пост, не стесняйтесь редактировать :)

тот интересный API называетсяIntervalindex новый в 0.20, который позволяет вам создавать индекс интервалов.

Даны некоторые примеры данных:

data = [(893.1516130000001, 903.9187099999999),
 (882.384516, 893.1516130000001),
 (817.781935, 828.549032)]

Вы можете создать индекс следующим образом:

idx = pd.IntervalIndex.from_tuples(data)

print(idx)
IntervalIndex([(893.151613, 903.91871], (882.384516, 893.151613], (817.781935, 828.549032]]
              closed='right',
              dtype='interval[float64]')

Интересное свойствоIntervalЭто то, что вы можете выполнять интервальные проверки сin:

print(y[-1])
Interval(817.78193499999998, 828.54903200000001, closed='right')

print(820 in y[-1])
True

print(1000 in y[-1])
False

Я хотел бы знать, как применить эту операцию ко всему индексу. Например, учитывая некоторое число900Как я могу получить булеву маску интервалов, для которых подходит это число?

Я могу думать о:

m = [900 in y for y in idx]
print(m)
[True, False, False]

Есть ли лучшие способы сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос