У меня есть фрейм данных, где мне нужно многократно фильтровать условия (более 200 000 раз), чтобы учесть уникальные результаты, которые могут быть получены.Мне интересно, есть ли более быстрый способ поиска и фильтрации для определенных условий.
Моя текущая реализация ниже
Description Ticker Start Stop
0 A B 220 100
1 Ab TEST 180 103
2 Bac RANDOM 205 32
3 Ba BLAH 100 2
4 Ca BLAH 92 40
5 Cd B 85 25
6 A B 221 71
7 A B 400 171
def filter_df(object):
stock_source = 'A'
ticker = 'B'
target = 120
my_df = object.maindf[(object.maindf['Description'].values == stock_source) & (object.maindf['Ticker'].values == ticker]
condition = (my_df['Start'].values <= target) & (my_df['Stop'].values >= target)
my_df = my_df[condition]
return my_df
Для приведенного выше примера я должен получить только строки с индексами 0 и 6, для которых я делаю некоторые другие вещи
ncalls tottime percall cumtime percall filename:lineno(function)
31192 1.950 0.000 37.554 0.001 test.py:95(filter_df)
Спасибо за помощь