J'essaie de remplacer "HNH PPP", "Hhn cv" et beaucoup plus de commençant par "Hhn" avec seulement "STRUT> HNN STRUT>", considérant qu'il y a d'autres marques commencent par différents codes qui devraient ne pas être changé.
J'ai essayé le code suivant, mais il n'a pas fonctionné p> ici est l'échantillon de mon Dataframe: p> Code Brand Serial Number Account Date
------ --------- --------------- --------- ------------------
SRS HHN CMV 113912 10984 29/01/2020 14:01
SRR HHN CMV 518506 88332 01/06/2020 17:11
SRR HHN CMV 82020 50509 01/06/2020 16:55
SRR HHN PPP 81718 73777 01/06/2020 15:42
SRR HHN PPP 947233 92812 01/06/2020 15:31
SRR HHN PPP 246639 97051 01/06/2020 15:09
SRR HHN PPP 344475 15869 01/06/2020 12:47
SRR KNN PV 176513 19982 01/06/2020 11:28
SRR KNN PV 193908 13462 01/06/2020 11:20
3 Réponses :
Vous n'avez pas besoin d'utiliser Regex, vous pouvez le faire:
df.replace({'Brand':['HHN PPP','HHN CMV']}, 'HNN')
En fait, j'ai besoin d'utiliser regex, il ne s'agit que d'un échantillon de mon Dataframe. J'ai édité ma question.
Vous pouvez utiliser ici, p>
^ code> - correspond aux correspondances Début de la chaîne li>
hhn code> - hhn code> chaîne li>
\ s code> - un espace char li>
. * code> - le reste de la chaîne. li>
$ code> - fin de la chaîne. li>
ul> p>
J'ai essayé le code suivant et il semble fonctionner. P>
df.replace ({«marque»: r '^ hhn. *}, {' marque ':' hnn '}, regex = true, surplace = vrai) p>
Le * correspond à 0 occurrence ou plus d'expression précédente. P>
le. Correspond à n'importe quel caractère sauf Newline P>
Vous pouvez vérifier les liens suivants p>
http://www.TutorialSpoint.com/python/python_reg_expressions.htm p>
DF ['Marque'] = DF ['marque']. str.replace (r '^ hhn (?: PPP | cmv) $', 'hnn') code>