Фрейм данных A:
pd.Dataframe({
'price': [50, 150, 250],
'group':[2, 5, 10]
})
Фрейм данных B:
pd.Dataframe({
'low_price': [0, 100, 200],
'high_price': [99, 199, 299],
'low_group':[0, 4, 8],
'high_group':[3, 6, 12],
'something':['A', 'B', 'C']
})
Как объединить эти фреймы данных при условии, как:
- Цена фрейма данных A составляет между Низкие и высокие цены в кадре данных.
AND
- Группа данных в кадре А * между Низкими и высокими группами данных в кадре В.
Есть ли способ сделать это без итерации по строкам и проверки по очереди?Я уже сделал это так, и это стоит O (n ^ 2), не масштабируется.
EDIT :
PS1: Каждая строка в A имеет 0или 1 совпадение в B. Я ищу "внутреннее" слияние.
PS2: у A миллионы записей, у B сотни.