J'ai un dataframe Pandas DF, où une colonne a une chaîne dedans:   et j'ai un autre Dataframe, où j'ai les nouvelles chaînes:  p> df = pd.DataFrame(data=['PSX - Judge A::PSK-Ama',
                        'VSC - Jep::VSC-Da',
                        'VSO - Jep::VSO-Da'], columns=['columnA'])
replace = pd.DataFrame(data=[['PSX', 'PCC'],
                             ['VSO', 'VVV']], columns=['old', 'new'])
3 Réponses :
for row in df_map.iterrows():
    df['columnA'] = df.replace(row[0], row[1], regex=True)
Where df_map is your mapping DataFrame. 
                                Cela prend 9,5315 secondes dans mon cas (seulement mesuré une fois)
 Vous pouvez utiliser le fait que le paramètre de remplacement peut être une fonction:     L'idée est d'extraire les mots dans  Columna  code> et s'il correspond à une dans la recherche, remplacez-le. Ceci est inspiré par ce  Réponse , dans lequel le marquage de banc montre que cela est l'approche la plus compétitive.  P> < / p>                                
Cela prend 1,26359 secondes dans mon cas (seulement mesuré une fois)
 Vous pouvez créer un "dictionnaire de remplacement" de votre deuxième Dataframe, puis itérer sur les touches et les valeurs et utilisez quant à eux que  str.replace  code>. Cette solution devrait être assez rapide:                   columnA
0  PCC - Judge A::PSK-Ama
1       VSC - Jep::VSC-Da
2       VVV - Jep::VVV-Da
Cela prend 3,5880 secondes dans mon cas (seulement mesuré une fois)
Que diriez-vous d'une boucle?
Hm..any vectoriser une solution?
C'est toujours un remplaçant un seul mot?
Pourquoi n'avez-vous pas impliqué "un autre Dataframe"? Quel est le sens de la mentionner?
C'est toujours ce type de remplacement, donc un mot simple oui