Maison > développement back-end > Tutoriel Python > Comment combiner les colonnes de date et d'heure dans Pandas ?

Comment combiner les colonnes de date et d'heure dans Pandas ?

DDD
Libérer: 2024-11-15 19:10:03
original
821 Les gens l'ont consulté

How to Combine Date and Time Columns in Pandas?

Combiner des colonnes de date et d'heure à l'aide de Pandas

Lorsque vous travaillez avec des données temporelles, il est souvent nécessaire de combiner des colonnes de date et d'heure pour obtenir une seule valeur d'horodatage. Pandas propose diverses options pour y parvenir, y compris la fonction pd.to_datetime().

Concaténation de chaînes et utilisation de pd.to_datetime()

Dans certains scénarios, votre date et les colonnes de temps sont stockées sous forme de chaînes. Pour les combiner, vous pouvez simplement les concaténer avec un espace comme suit :

df['Date'] + ' ' + df['Time']
Copier après la connexion

Une fois les chaînes concaténées, vous pouvez utiliser pd.to_datetime() pour les convertir en un objet DatetimeIndex :

pd.to_datetime(df['Date'] + ' ' + df['Time'])
Copier après la connexion

Cette approche vous permet d'utiliser le format déduit de la chaîne concaténée, qui est généralement une combinaison des formats de date et d'heure de l'individu. colonnes.

Utilisation du paramètre format=

Cependant, si vos chaînes de date et d'heure ne sont pas dans un format standardisé, ou si vous souhaitez spécifier explicitement le format, vous pouvez utiliser le paramètre format= comme suit :

pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y%H:%M:%S')
Copier après la connexion

Ici, vous spécifiez le format exact de la chaîne concaténée, garantissant ainsi une précision conversion.

Analyse directe des dates

Au lieu de concaténer des chaînes, vous pouvez également analyser les informations de date et d'heure directement en utilisant pd.read_csv() avec le paramètre parse_dates . Ce paramètre vous permet de spécifier une liste de colonnes à analyser en tant qu'objets datetime.

Par exemple, si vos données sont stockées dans un fichier CSV nommé "data.csv":

import pandas as pd

df = pd.read_csv("data.csv", parse_dates=[['Date', 'Time']])
Copier après la connexion

Dans ce cas, Pandas analysera automatiquement les colonnes spécifiées dans un DatetimeIndex.

Performance Considérations

Lorsque vous travaillez avec de grands ensembles de données, les performances deviennent cruciales. La concaténation de chaînes, puis leur conversion en datetime prend beaucoup plus de temps que l'analyse directe des informations de date et d'heure. Comme le montrent les résultats de synchronisation suivants à l'aide de la commande magique %timeit :

# Sample dataframe with 10 million rows
df = pd.concat([df for _ in range(1000000)]).reset_index(drop=True)

# Time to combine strings and convert to datetime
%timeit pd.to_datetime(df['Date'] + ' ' + df['Time'])

# Time to parse dates directly
%timeit pd.to_datetime(df['Date'] + df['Time'], format='%m-%d-%Y%H:%M:%S')
Copier après la connexion

Les résultats indiquent que l'analyse directe est nettement plus rapide, en particulier 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal