logo

Python | Pandas.to_datetime()

Lorsqu'un fichier CSV est importé et qu'une trame de données est créée, les objets Date/heure du fichier sont lus comme un objet chaîne plutôt que comme un objet Date/heure. Il est donc très difficile d'effectuer des opérations telles que le décalage horaire sur une chaîne plutôt que sur une date/heure. objet. La méthode Pandas to_datetime() permet de convertir la chaîne Date/heure en Python Objet date-heure.

Syntaxe Pandas.to_datetime()

Syntaxe: pandas.to_datetime(arg, erreurs='raise', dayfirst=False, yearfirst=False, utc=Aucun, box=True, format=Aucun, exact=True, unit=Aucun, infer_datetime_format=False, origin='unix', cache=Faux)



Paramètres:

  1. argument : Un objet entier, chaîne, float, liste ou dict à convertir en objet Date time.
  2. premier jour : Valeur booléenne, place le jour en premier si True.
  3. annéepremière : Valeur booléenne, place l'année en premier si True.
  4. UTC: Valeur booléenne, renvoie l'heure en UTC si True.
  5. format: Entrée de chaîne pour indiquer la position du jour, du mois et de l'année.

Type de retour : Dateheure

Pandas.to_datetime() dans l'exemple Pandas

Pandas to_datetime() est utilisé pour convertir différents types de données en objets datetime. Nous verrons différents exemples d'utilisation :



Convertir une chaîne Pandas en Datetime

Pour convertir les données de date et d'heure enregistrées sous forme de textes en objets datetime, utilisez Pandas.to_datetime(). Le format comprend la date et l'heure.

Python3






import> pandas as pd> # date string> d_string>=> '2023-09-17 14:30:00'> # Convert the string to datetime> dt_obj>=> pd.to_datetime(d_string)> print>(dt_obj)>

>

tutoriel de réaction js
>

Sortir:

2023-09-17 14:30:00>

Convertir les valeurs numériques Pandas en Datetime

Les objets datetime peuvent être créés à partir de nombres numériques qui représentent le temps, tels que les secondes depuis l'époque Unix. Nous pouvons spécifier l'unité des données d'entrée en utilisant l'argument unité.

Python3




import> pandas as pd> # Sample numerical value representing seconds since the Unix epoch> unix_timestamp>=> 1721700500> # Convert to datetime using 's' (seconds) as the unit> dt_obj>=> pd.to_datetime(unix_timestamp, unit>=>'s'>)> print>(dt_obj)>

10 sur 40

>

>

Sortir:

2024-07-23 02:08:20>

Convertir la colonne Pandas en DateTime

Cela expliquera comment travailler avec les données de date et d'heure à l'aide de l'outil Bibliothèque des Pandas. L'objectif principal est de transformer les informations de date et d'heure d'un fichier CSV dans un format qui rend l'analyse plus facile à comprendre et plus utile.

Pour le lien vers le fichier CSV utilisé, Cliquez ici .

Exemple 1: Conversion du format de date utiliser des pandas

Chaîne à date Dans l'exemple suivant, un fichier csv est lu et la colonne de date du bloc de données est convertie en objet Date Time à partir d'un objet chaîne.

Python3




# Importing the pandas package> import> pandas as pd> # Making a data frame from a CSV file> data>=> pd.read_csv(>'/content/todatetime.csv'>)> # Overwriting data after changing the 'Date' format> data[>'Date'>]>=> pd.to_datetime(data[>'Date'>])># Corrected: Added quotes around 'Date'> # Info of the data> data.info()> # Display the data> print>(data.head())>

>

commande cp sous Linux
>

Sortir:

 RangeIndex: 1000 entries, 0 to 999 Data columns (total 2 columns):  # Column Non-Null Count Dtype  --- ------ -------------- -----   0 Date 1000 non-null datetime64[ns]  1 Time 1000 non-null object  dtypes: datetime64[ns](1), object(1) memory usage: 15.8+ KB  Date Time 0 1993-08-06 12:42 PM 1 1996-03-31 6:53 AM 2 1993-04-23 11:17 AM 3 2005-03-04 1:00 PM 4 1998-01-24 4:47 PM>

Comme le montre l'image, la colonne Type de données de date était un objet, mais après avoir utilisé to_datetime(), elle a été convertie en un objet date/heure.

Exemple 2 : Conversion du format d'heure à l'aide de Pandas

L'exception lors de la conversion de l'objet Time peut également être convertie avec cette méthode. Mais comme dans la colonne Heure, aucune date n'est spécifiée et donc Pandas mettra La date d'aujourd'hui automatiquement dans ce cas.

Python3




# importing pandas package> import> pandas as pd> # making data frame from csv file> data>=> pd.read_csv(>'/content/todatetime.csv'>)> # overwriting data after changing format> data[>'Time'>]>=> pd.to_datetime(data[>'Time'>])> # info of data> data.info()> # display> print>(data.head())>

>

>

Sortir:

 RangeIndex: 1000 entries, 0 to 999 Data columns (total 2 columns):  # Column Non-Null Count Dtype  --- ------ -------------- -----   0 Date 1000 non-null object   1 Time 1000 non-null datetime64[ns] dtypes: datetime64[ns](1), object(1) memory usage: 15.8+ KB  Date Time 0 8/6/1993 2023-10-12 12:42:00 1 3/31/1996 2023-10-12 06:53:00 2 4/23/1993 2023-10-12 11:17:00 3 3/4/2005 2023-10-12 13:00:00 4 1/24/1998 2023-10-12 16:47:00>

Comme indiqué dans le résultat, une date (2018-07-07) qui est la date du jour est déjà ajoutée avec l'objet Date time.