Например, эти 2 DataFrame:
(идентификаторы здесь для иллюстрации)
ТЕЛЕФОНЫ
Код: Выделить всё
| id | phone |
| -- | ------------ |
| 1 | +12399998888 |
| 2 | +12377776666 |
| 3 | +1233399998888 |
Код: Выделить всё
| id | phone |
| -- | -------- |
| 1 | 99998888 |
| 2 | 99998888 |
| 3 | 77776666 |
Код: Выделить всё
| id | phone | phone_no_ext |
| -- | ------------ | ------------- |
| 1 | +12399998888 | 99998888 |
| 1 | +12399998888 | 99998888 |
| 2 | +12377776666 | 77776666 |
| 3 | +1233399998888 | 99998888 |
| 3 | +1233399998888 | 99998888 |
Посмотрите на идентификатор 3 PHONES, узнать это невозможно префикс, но это совпадение все равно необходимо.
Один из подходов заключался в выполнении всех комбинаций (создание строк len(PHONES) * len(PHONES_NO_EXT) в новом DataFrame), а затем создание df.apply для фильтрации на основе подстроки (вы можете себе представить, что это решение невозможно масштабировать).
Как выполнить это слияние наиболее эффективным способом?
Подробнее здесь: https://stackoverflow.com/questions/790 ... g-criteria