Combiner des colonnes de date et d'heure dans Pandas avec pd.to_datetime()
Lorsque vous travaillez avec des données de date et d'heure dans Pandas, cela est souvent nécessaire pour combiner des colonnes distinctes en un seul objet datetime. Une façon de procéder consiste à utiliser la fonction pd.to_datetime().
Énoncé du problème
Considérez une trame de données avec des colonnes « Date » et « Heure », comme illustré ci-dessous :
Date Time 01-06-2013 23:00:00 02-06-2013 01:00:00 02-06-2013 21:00:00 02-06-2013 22:00:00 02-06-2013 23:00:00 03-06-2013 01:00:00 03-06-2013 21:00:00 03-06-2013 22:00:00 03-06-2013 23:00:00 04-06-2013 01:00:00
Notre objectif est de combiner ces deux colonnes en une seule colonne « Date et heure ».
Solution utilisant la concaténation de chaînes
Une approche consiste à concaténer les colonnes « Date » et « Heure » sous forme de chaînes, puis à convertir la chaîne résultante en un objet datetime à l'aide de pd.to_datetime() :
result = pd.to_datetime(df['Date'] + ' ' + df['Time'])
Cela convertit la chaîne concaténée en une série d'objets datetime.
Solution utilisant le paramètre de format
Vous pouvez également utiliser le paramètre de format de pd.to_datetime() pour spécifier le format exact du combiné string :
result = pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y %H:%M:%S')
Cette approche est plus rapide que la précédente, en particulier lorsqu'il s'agit de grands ensembles de données.
Comparaison des performances
Utilisation du % Commande magique %timeit, nous pouvons comparer les performances des deux approches :
df = pd.concat([df for _ in range(1000000)]).reset_index(drop=True) %timeit pd.to_datetime(df['Date'] + ' ' + df['Time']) %timeit pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y %H:%M:%S')
La deuxième approche avec le paramètre format est nettement plus rapide pour les grands ensembles de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!