| fuzzy_merge_adaptive |
function |
py |
datascience |
1.0.0 |
pure |
def fuzzy_merge_adaptive(left: list[dict], right: list[dict], left_key: str, right_key: str, thresholds: list[int] | None = None, how: str = 'left') -> list[dict] |
Fuzzy join adaptativo entre dos listas de dicts usando rapidfuzz.token_sort_ratio. Prueba thresholds de mayor a menor y asigna el mayor cumplido. Soporta how='left' (todos los de left) e how='inner' (solo con match). Campos colisionantes reciben sufijos _left/_right. |
| fuzzy |
| matching |
| join |
| merge |
| rapidfuzz |
| string-similarity |
| datascience |
| pendiente-usar |
|
| name |
desc |
| left |
Lista de dicts (lado izquierdo del join). |
|
| name |
desc |
| right |
Lista de dicts (lado derecho del join). |
|
| name |
desc |
| left_key |
Clave en los dicts de left usada para matching de strings. |
|
| name |
desc |
| right_key |
Clave en los dicts de right usada para matching de strings. |
|
| name |
desc |
| thresholds |
Lista de thresholds enteros a probar en orden descendente. Default [90,80,70,60,50]. |
|
| name |
desc |
| how |
'left' incluye todos los items de left; 'inner' solo los que tienen match. |
|
|
Lista de dicts mergeados con campos de left + right (sufijos _left/_right si colisionan) + fuzzy_match (str|None), match_score (int), threshold_used (int|None). |
|
|
|
false |
|
|
true |
| left join con typo |
| inner join excluye sin match |
| left join sin match devuelve none |
| threshold adaptativo |
| colision de claves usa sufijos |
|
python/functions/datascience/tests/test_fuzzy_merge_adaptive.py |
python/functions/datascience/fuzzy_merge_adaptive.py |
internal:footprint_aurgi |
internal-aurgi |
fuzzy_joins/fuzzy_en_batches.py |