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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *