Convertir Timedelta en Int en Pandas

Muhammad Maisam Abbas 15 février 2024
Convertir Timedelta en Int en Pandas

Ce tutoriel abordera la conversion du timedelta en int en utilisant l’attribut dt dans Pandas.

Convertir le timedelta en int en utilisant l’attribut dt dans Pandas

Pour convertir le timedelta en valeur entière, on peut utiliser l’attribut dt de la bibliothèque pandas. L’attribut dt permet d’extraire les composantes du timedelta. Par exemple, nous pouvons extraire l’année, le mois, le jour, les minutes ou les secondes en utilisant l’attribut dt. Pour ce faire, nous devons écrire le nom du composant après l’attribut dt. Pour afficher toutes les composantes de la variable timedelta, nous pouvons utiliser l’attribut components. Par exemple, créons une série temporelle à l’aide de l’attribut Series des pandas et montrons ses composants à l’aide de l’attribut components.

import pandas as pd

time_series = pd.Series(pd.timedelta_range(start="1 days", end="10 days", freq="1500T"))
time_series.dt.components

Production :

Série chronologique des pandas

Comme vous pouvez le voir, l’attribut components affichait toutes les composantes de la série temporelle. L’attribut timedelta_range() est utilisé dans le code ci-dessus pour créer la série temporelle. Nous pouvons définir le point de départ et d’arrivée et la fréquence à laquelle l’heure changera à l’intérieur de l’attribut timedelta_range(). Nous pouvons extraire n’importe lequel de ces composants en utilisant le nom de ce composant. Par exemple, extrayons le composant jours de la série chronologique ci-dessus. Voir le code ci-dessous.

import pandas as pd

time_series = pd.Series(pd.timedelta_range(start="1 days", end="10 days", freq="1500T"))
time_series.dt.days

Production :

0    1
1    2
2    3
3    4
4    5
5    6
6    7
7    8
8    9
dtype: int64

Vous pouvez extraire n’importe quel composant de la série chronologique ci-dessus. On peut aussi convertir le timedelta en entier en le divisant par le timedelta d’un jour ou en extrayant sa partie entière à l’aide de l’attribut astype(). Par exemple, créons un objet timedelta et convertissons-le en un entier pour obtenir la valeur du jour en utilisant NumPy. Voir le code ci-dessous.

import numpy as np

x = np.timedelta64(2058311000000000, "ns")
day = x.astype("timedelta64[D]")
days.astype(int)

Production :

23.0

Le timedelta est en fait dans le type de données int64, et nous pouvons extraire notre composant souhaité en le convertissant en un int à l’aide de l’attribut astype(). Nous pouvons également convertir le timedelta en heures ou secondes ou tout autre composant en utilisant la même méthode. Pour ce faire, nous devons changer D dans la troisième ligne de code en h pour les heures et s pour les secondes, et ainsi de suite.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Pandas DateTime