пост, не стесняйтесь редактировать :)
тот интересный 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]
Есть ли лучшие способы сделать это?