Utiliser la fonction split

Résolu
blgnch Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
blgnch Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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

2 réponses

  1. jee pee Messages postés 31867 Date d'inscription   Statut Modérateur Dernière intervention   9 973
     
    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
    1. blgnch Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
       
      Le premier code a fonctionné. Merci beaucoup pour votre aide !
      0
  2. jee pee Messages postés 31867 Date d'inscription   Statut Modérateur Dernière intervention   9 973
     
    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
    1. blgnch Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      1. jee pee Messages postés 31867 Date d'inscription   Statut Modérateur Dernière intervention   9 973 > blgnch Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
         
        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
      2. blgnch Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   > jee pee Messages postés 31867 Date d'inscription   Statut Modérateur Dernière intervention  
         
        ça revient au même :'(
        0