Format date : Comment changer le format

manoloo -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

J'aimerais convertir des données présente dans la colonne "Date Ticket" pour en faire des dates :

J'ai essayé plusieurs approches, mais ça ne marche pas.


Windows / Edge 105.0.1343.53

2 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     

    Bonjour,

    Inutile de faire une capture d'écran quand un simple copier coller de print(df) suffit. Et merci de soigner l'orthographe.

    Il y a deux manières d'approcher le problème, selon le type de données de départ.

    • Si le type de départ est int :
    import datetime
    
    def int_to_datetime(i):
        yy = i // 10000 
        i -= yy * 10000
        mm = i // 100 
        i -= mm * 100 
        dd = i   
        return datetime.datetime(year=yy, month=mm, day=dd)
    
    for i in [20210627, 20210701]:
        print(int_to_datetime(i))
    • Si le type de départ est str :
    import datetime
    
    def str_to_datetime(s):
        return datetime.datetime.strptime(s, "%Y%m%d")
    
    for s in ["20210627", "20210701"]:
        print(str_to_datetime(s))

    Résultat :

    2021-06-27 00:00:00
    2021-07-01 00:00:00

    Bonne chance

    0
    1. manoloo
       

      Bonjour,

      je n'ai pas réussi et pour infos le type de départ est int64: voici ce que j'obtiens en sortie , puisque je veux transformer automatiquement toute la colonne

      import datetime

      def int_to_datetime(i):
          yy = i // 10000 
          i -= yy * 10000
          mm = i // 100 
          i -= mm * 100 
          dd = i   
          return datetime.datetime(year=yy, month=mm, day=dd)

      for i in [Date Ticket]:
          print(int_to_datetime(i))

      Input In [16]
          for i in [Date Ticket]:
                         ^
      SyntaxError: invalid syntax
      
      0
    2. manoloo
       

      Je veux changer direct sur mon dataset, pour ensuite réafficher mon dataset avec DATACONC.head() pour vérifier s'il a bien changer sur l'ensemble de la colonne Date ticket

      0
      1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940 > manoloo
         

        A priori c'est quelque chose du genre :

        df["Date Ticket"] = df["Date ticket"].apply(int_to_datetime)

        Si tu es bloqué, peux-tu donner un exemple minimal qui permette de charger ta DataFrame ?

        Bonne chance

        0
  2. manoloo
     

    Bonsoir, merci pour ton retour.

    En faite je veux changer complètement le format   de la colonne Date ticket pour que toutes les lignes de cette colonne se mettent se transforme en date

    0
    1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
       

      Oui j'ai bien compris, peux-tu répondre au message #4 ?

      0