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 :
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.
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