0
votes

Python: Utiliser Lambda avec StartSwith

Je dois écrire mon Dataframe à CSV et certaines des séries commencent par "+ - =", donc j'ai besoin de les supprimer en premier.

J'ai essayé de tester en utilisant une chaîne: p> xxx pré>

Sortie semble parfait: p> xxx pré>

Maintenant, lorsque je veux faire la même chose en utilisant Lambda dans mon Dataframe: P>

         A                    B          C
0   I love Mercedes-Benz      4       Love this
1   Looks so good!            2       5-year-old


0 commentaires

4 Réponses :


3
votes

Vous pouvez utiliser str.lstrip code> afin de supprimer ces caractères principaux:

my_df.A.str.lstrip('+-=')

0     I love Mercedes-Benz
1           Looks so good!
Name: A, dtype: object


0 commentaires

0
votes

La fonction startswith accepte un tuple de préfixes: xxx

mais vous ne pouvez pas mettre cela dans une Lambda. Mais alors, vous n'avez pas besoin de Lambda: écrivez simplement la fonction et transmettez son nom sur mappe .


0 commentaires

0
votes

Un moyen d'y parvenir pourrait être

my_df["A"].str=my_df["A"].str.strip("+=- ")


0 commentaires

0
votes

comme un Amoureux des solutions REGEX et éventuellement compliquées, je vais ajouter cette solution aussi:

import re

my_df["A"]=my_df["A"].map(lambda x: re.sub('^[*-=\s]*', '', x))


0 commentaires