Je dois écrire strictement regular expression
pour remplacer certaines valeurs dans ma base de données pandas
. C'est un problème qui a été soulevé après avoir résolu la question que j'ai publiée here.Expression stricte dans Pandas remplacer
Le problème est que le .replace(idsToReplace, regex=True)
n'est pas strict. Par conséquent, si les iDsToReplace sont:
NY : New York
NYC : New York City
et le commentaire dans lequel nous remplaçons l'ID est:
My cat from NYC is large.
La réponse résultante est:
My cat from New York is large.
est-il un moyen pythonique au sein le pandas
replace
fonction pour rendre le regular expression
plus strict pour correspondre à NYC
et non NY
?
il n'y a pas de concept de rigueur dans regex, il correspond à ce que vous lui dites. Vous cherchez peut-être les limites de mots '\ b'. – Aaron
Désolé, avez-vous besoin de remplacer 'Mon chat de NYC est grand.'' Mon chat de New York City est grand. 'Si dict est 'd = {' NYC ':' New York City ',' NY ':' New York '} '? – jezrael
Le problème était que le mot NYC était capturé par NY, au lieu de New York. Ainsi, la réponse correcte est: «Mon chat de New York City est grand». Je fais quelques tests, mais jusqu'à présent, il semble que votre réponse ci-dessous travaille avec les «limites» – owwoow14