J'essaie d'itérer une liste de chaînes en utilisant dataframe1 pour vérifier si l'autre dataframe2 a des chaînes trouvées dans dataframe1 pour les remplacer.pandas: Remplacer la chaîne ne remplace pas la sous-chaîne ciblée
for index, row in nlp_df.iterrows():
print(row['x1'])
string1 = row['x1'].replace("(","\(")
string1 = string1.replace(")","\)")
string1 = string1.replace("[","\[")
string1 = string1.replace("]","\]")
nlp2_df['title'] = nlp2_df['title'].replace(string1,"")
Pour ce faire, j'itérées en utilisant le code ci-dessus pour vérifier et remplacer par une chaîne trouvée dans DF1
La sortie montre belows les chaînes dans DF1
wait_timeout
interactive_timeout
pool_recycle
....
__all__
folder_name
re.compile('he(lo')
La sortie ci-dessous montre la sortie après le remplacement des chaînes dans df2
0 have you tried watching the traffic between th...
1 /dev/cu.xxxxx is the "callout" device, it's wh...
2 You'll want the struct package.\r\r\n
Pour la sortie i n df2 chaînes comme /dev/cu.xxxxx
aurait dû être remplacé au cours de l'itération, mais comme indiqué, il n'est pas supprimé. Cependant, j'ai essayé d'utiliser nlp2_df['title'] = nlp2_df['title'].replace("/dev/cu.xxxxx","")
et réussi à l'enlever avec succès est-il une raison pour laquelle écrire directement la chaîne fonctionne mais en boucle en utilisant une variable à utiliser pour le remplacement ne le fait pas?
Merci d'avance!