Utiliser la fonction split

Résolu/Fermé
blgnch Messages postés 6 Date d'inscription jeudi 12 mai 2022 Statut Membre Dernière intervention 19 mai 2022 - 19 mai 2022 à 10:17
blgnch Messages postés 6 Date d'inscription jeudi 12 mai 2022 Statut Membre Dernière intervention 19 mai 2022 - 19 mai 2022 à 14:36
Bonjour,
j'ai une colonne('Date de l'experience') d'un Data Frame (df2) dans laquelle se trouve pour chaque ligne de la colonne : "Date de l'expérience: DATE" par exemple: "Date de l'expérience: 13 mai 2022".

Je souhaite garder que la date et donc retirer 'Date de l'expérience:".

Pour cela j'utilise :

df2["Date de l'experience"]=df2["Date de l'experience"].apply(lambda x:x.split("Date de l'expérience:"))


Sauf que le résultat de ma colonne devient "[, 18 mai 2022]".
Entre autres j'ai [,] en trop. Pourquoi ? et comment résoudre le pb s'il vous plait ?

Configuration: Windows / Chrome 101.0.4951.67
A voir également:

2 réponses

jee pee Messages postés 39621 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 9 233
Modifié le 19 mai 2022 à 13:45
Cela ne fonctionne donc pas comme string.replace() le df.replace() doit remplacer si égalité en totalité, pas une partie.

voir : https://stackoverflow.com/questions/42331992/replace-part-of-the-string-in-pandas-data-frame

alors essayer
df2['Date de l'expérience']=df2['Date de l'expérience'].replace(to_replace="Date de l'expérience: ",value="", regex=True)


ou
df2['Date de l'expérience']=df2['Date de l'expérience'].str.replace("Date de l'expérience: ", "")


1
blgnch Messages postés 6 Date d'inscription jeudi 12 mai 2022 Statut Membre Dernière intervention 19 mai 2022
19 mai 2022 à 14:36
Le premier code a fonctionné. Merci beaucoup pour votre aide !
0
jee pee Messages postés 39621 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 9 233
19 mai 2022 à 10:47
Bonjour,

.split()
crée un tableau en utilisant le paramètre comme séparateur, dans ton cas le résultat c'est
['', ' 13 mai 2022'] 
une valeur vide, la date

tu devrais utiliser la méthode
.replace()
:
.replace("Date de l'expérience: ","")
qui dans la chaine remplace la valeur donnée par rien.
0
blgnch Messages postés 6 Date d'inscription jeudi 12 mai 2022 Statut Membre Dernière intervention 19 mai 2022
19 mai 2022 à 12:59
Merci pour ta réponse !

Malheureusement lorsque j'utilise la methode replace je n'ai aucun changement le df reste le meme :

df2['Date de l'expérience']=df2['Date de l'expérience'].replace(to_replace=["Date de l'expérience: "],value=[""])
0
jee pee Messages postés 39621 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 9 233 > blgnch Messages postés 6 Date d'inscription jeudi 12 mai 2022 Statut Membre Dernière intervention 19 mai 2022
Modifié le 19 mai 2022 à 13:16
je n'ai jamais utilisé de dataframe, mais suivant : https://www.geeksforgeeks.org/python-pandas-dataframe-replace/
la syntaxe serait plutôt
df2['Date de l'expérience']=df2['Date de l'expérience'].replace(to_replace="Date de l'expérience: ",value="")
0
blgnch Messages postés 6 Date d'inscription jeudi 12 mai 2022 Statut Membre Dernière intervention 19 mai 2022 > jee pee Messages postés 39621 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024
19 mai 2022 à 13:32
ça revient au même :'(
0