Comment convertir DateHeure en date dans Pandas
Souvent, vous souhaiterez peut-être convertir une date/heure en une date en pandas. Heureusement, cela est facile à faire en utilisant la fonction .dt.date , qui adopte la syntaxe suivante :
df['date_column'] = pd.to_datetime(df['datetime_column']).dt.date
Exemple : Datetime à ce jour dans Pandas
Par exemple, supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd #create pandas DataFrame with two columns df = pd.DataFrame({'sales': [4, 11], 'time': ['2020-01-15 20:02:58', '2020-01-18 14:43:24']}) #view DataFrame print(df) sales time 0 4 2020-01-15 20:02:58 1 11 2020-01-18 14:43:24
Pour convertir la colonne « heure » en une simple date, nous pouvons utiliser la syntaxe suivante :
#convert datetime column to just date df['time'] = pd.to_datetime(df['time']).dt.date #view DataFrame print(df) sales time 0 4 2020-01-15 1 11 2020-01-18
Désormais, la colonne « heure » affiche simplement la date sans l’heure.
Utilisation de Normalize() pour les types datetime64
Vous devez noter que le code ci-dessus renverra un type d’ objet :
#find dtype of each column in DataFrame df.dtypes sales int64 time object dtype: object
Si vous voulez plutôt datetime64 , vous pouvez normalize() le composant time, qui conservera le type comme datetime64 mais n’affichera que la date :
#convert datetime column to just date df['time'] = pd.to_datetime(df['time']).dt.normalize() #view DataFrame print(df) sales time 0 4 2020-01-15 1 11 2020-01-18 #find dtype of each column in DataFrame df.dtypes sales int64 time datetime64[ns] dtype: object
Encore une fois, seule la date est affichée, mais la colonne ‘time’ est un type datetime64 .
Ressources additionnelles
Comment convertir des colonnes en DateTime dans Pandas
Comment convertir des chaînes en flotteur dans Pandas