Convertir Timedelta a Int en Pandas
Este tutorial discutirá la conversión de timedelta
a int
usando el atributo dt
en Pandas.
Convierta el timedelta
en int
usando el atributo dt
en Pandas
Para convertir el timedelta
en un valor entero, podemos usar el atributo dt
de la biblioteca pandas
. El atributo dt
nos permite extraer componentes del timedelta
. Por ejemplo, podemos extraer el año, mes, día, minutos o segundos usando el atributo dt
. Para hacer eso, necesitamos escribir el nombre del componente después del atributo dt
. Para mostrar todos los componentes de la variable timedelta
, podemos utilizar el atributo componentes
. Por ejemplo, creemos una serie de tiempo usando el atributo Series
de pandas y mostremos sus componentes usando el atributo componentes
.
import pandas as pd
time_series = pd.Series(pd.timedelta_range(start="1 days", end="10 days", freq="1500T"))
time_series.dt.components
Producción:
Como puede ver, el atributo componentes
mostraba todos los componentes de la serie temporal. El atributo timedelta_range()
se utiliza en el código anterior para crear la serie de tiempo. Podemos definir el punto inicial y final y la frecuencia con la que cambiará el tiempo dentro del atributo timedelta_range()
. Podemos extraer cualquiera de estos componentes usando el nombre de ese componente. Por ejemplo, extraigamos el componente de días de la serie de tiempo anterior. Vea el código a continuación.
import pandas as pd
time_series = pd.Series(pd.timedelta_range(start="1 days", end="10 days", freq="1500T"))
time_series.dt.days
Producción :
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
dtype: int64
Puede extraer cualquier componente que desee de la serie temporal anterior. También podemos convertir el timedelta
en un número entero dividiéndolo por el timedelta
de un día o extrayendo su parte entera usando el atributo astype()
. Por ejemplo, creemos un objeto timedelta
y lo convertiremos en un número entero para obtener el valor del día usando NumPy
. Vea el código a continuación.
import numpy as np
x = np.timedelta64(2058311000000000, "ns")
day = x.astype("timedelta64[D]")
days.astype(int)
Producción :
23.0
El timedelta
está en realidad en el tipo de datos int64
, y podemos extraer nuestro componente deseado convirtiéndolo en un int
usando el atributo astype()
. También podemos convertir el timedelta
a horas o segundos o cualquier otro componente utilizando el mismo método. Para hacer eso, necesitamos cambiar D
en la tercera línea de código a h
para horas y s
para segundos, y así sucesivamente.
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