Pandas : comment combiner les colonnes de date et d’heure
Vous pouvez utiliser la syntaxe suivante pour combiner les colonnes de date et d’heure d’un DataFrame pandas en une seule colonne :
df['datetime'] = pd.to_datetime(df['date'] + ' ' + df['time'])
Notez que cette syntaxe suppose que les colonnes de date et d’heure sont toutes deux des chaînes actuelles.
Si les deux colonnes ne sont pas déjà des chaînes, vous pouvez utiliser astype(str) pour les convertir en chaînes :
df['datetime'] = pd.to_datetime(df['date'].astype(str) + ' ' + df['time'].astype(str))
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : combiner les colonnes de date et d’heure dans Pandas
Supposons que nous ayons le DataFrame pandas suivant qui contient une colonne de date et une colonne d’heure :
import pandas as pd #create DataFrame df = pd.DataFrame({'date': ['10-1-2023', '10-4-2023', '10-6-2023', '10-6-2023', '10-14-2023', '10-15-2023', '10-29-2023'], 'time': ['4:15:00', '7:16:04', '9:25:00', '10:13:45', '15:30:00', '18:15:00', '23:15:00']}) #view DataFrame print(df) date time 0 10-1-2023 4:15:00 1 10-4-2023 7:16:04 2 10-6-2023 9:25:00 3 10-6-2023 10:13:45 4 10-14-2023 15:30:00 5 10-15-2023 18:15:00 6 10-29-2023 23:15:00
Supposons que nous souhaitions créer une nouvelle colonne appelée datetime qui combine les valeurs des colonnes date et heure .
Nous pouvons utiliser la syntaxe suivante pour ce faire :
#create new datetime column df['datetime'] = pd.to_datetime(df['date'] + ' ' + df['time']) #view updated DataFrame print(df) date time datetime 0 10-1-2023 4:15:00 2023-10-01 04:15:00 1 10-4-2023 7:16:04 2023-10-04 07:16:04 2 10-6-2023 9:25:00 2023-10-06 09:25:00 3 10-6-2023 10:13:45 2023-10-06 10:13:45 4 10-14-2023 15:30:00 2023-10-14 15:30:00
Notez que la nouvelle colonne datetime a réussi à combiner les valeurs des colonnes date et heure en une seule colonne.
Nous pouvons également utiliser la fonction dtypes pour vérifier les types de données de chaque colonne du DataFrame :
#view data type of each column
df.dtypes
date object
time object
datetime datetime64[ns]
dtype: object
À partir du résultat, nous pouvons voir que les colonnes date et heure sont toutes deux des objets (c’est-à-dire des chaînes) et que la nouvelle colonne datetime est une datetime.
Remarque : Vous pouvez trouver la documentation complète de la fonction pandas to_datetime() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment créer une plage de dates dans Pandas
Comment convertir l’horodatage en date/heure dans Pandas
Comment calculer une différence entre deux dates chez les pandas