1

Comment utiliser la correspondance floue en pandas géants pour détecter les doublons (efficacement)Pandas floue détecter les doublons

enter image description here

Comment trouver les doublons d'une colonne par rapport à tous les autres sans gigantesque boucle de conversion row_i toString() et ensuite en le comparant à tous les autres?

+0

FuzzyWuzzy est une implémentation de la distance d'édition, ce qui serait un bon candidat pour construire une matrice de distance par paire en numpy ou similaire. Pour détecter les "doublons" ou les correspondances proches, vous devrez au moins effectuer la comparaison de chaque ligne aux autres lignes ou vous ne saurez jamais si deux sont proches les uns des autres. voir http://stackoverflow.com/questions/24089973/python-numpy-pairwise-edit-distance pour une solution utilisant pdist dans scipy. –

+0

Vous pourriez potentiellement l'approximer - voir http://cs.stackexchange.com/questions/2093/efficient-map-data-structure-supporting-approximate-lookup/2096#2096 –

+0

ou obtenir fantaisie: https: // fr .wikipedia.org/wiki/BK-tree. Je ne sais pas si ceux-ci sont particulièrement utiles pour votre cas. –

Répondre

1

Non spécifique aux pandas, mais dans l'écosystème python, le dedupe python library semble faire ce que vous voulez. En particulier, il vous permet de comparer chaque colonne d'une ligne séparément, puis de combiner les informations en un seul score de probabilité d'une correspondance.