Format date : Comment changer le format

manoloo -  
mamiemando Messages postés 33758 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

A voir également:

2 réponses

mamiemando Messages postés 33758 Date d'inscription   Statut Modérateur Dernière intervention   7 877
 

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
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
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
mamiemando Messages postés 33758 Date d'inscription   Statut Modérateur Dernière intervention   7 877 > 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
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
mamiemando Messages postés 33758 Date d'inscription   Statut Modérateur Dernière intervention   7 877
 

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

0