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 31946 Date d'inscription   Statut Modérateur Dernière intervention   10 003
     
    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 31946 Date d'inscription   Statut Modérateur Dernière intervention   10 003
     
    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 31946 Date d'inscription   Statut Modérateur Dernière intervention   10 003 > 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 31946 Date d'inscription   Statut Modérateur Dernière intervention  
         
        ça revient au même :'(
        0