English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Timedelta de Pandas

Ejemplo de operaciones de Timedelta de Pandas

El aumento de tiempo es la diferencia en tiempo expresada en la unidad de diferencia, por ejemplo, días, horas, minutos, segundos. Pueden ser positivos o negativos.

Al pasar una cadena literal, podemos crear un objeto timedelta.

cadena

Podemos crear objetos Timedelta utilizando varios parámetros, como se muestra a continuación-

import pandas as pd
print(pd.Timedelta('2 días 2 horas 15 minutos 30 segundos'))

Los resultados de la ejecución son los siguientes:

 2 días 02:15:30

entero

Al pasar un valor entero al unidad, el parámetro creará un objeto Timedelta.

import pandas as pd
print(pd.Timedelta(6,unit='h'))

Los resultados de la ejecución son los siguientes:

 0 días 06:00:00

Desplazamiento de datos

Desplazamiento de datos (por ejemplo-semanas, días, horas, minutos, segundos, milisegundos, microsegundos, nanosegundos) también se pueden usar en la construcción.

import pandas as pd
print(pd.Timedelta(days=2))

Los resultados de la ejecución son los siguientes:

2 dias 00:00:00

to_timedelta()

Utilice pd.to_timedelta para convertir un escalar, un array, una lista o una secuencia desde un formato timedelta reconocido/La conversión de valor a tipo Timedelta. Si la entrada es una serie, se construirá una serie; si la entrada es un escalar, se construirá un escalar; de lo contrario, se generará un TimedeltaIndex.

import pandas as pd
print(pd.Timedelta(days=2))

Los resultados de la ejecución son los siguientes:

2 dias 00:00:00

Operaciones específicas

Puede operar en Series / Operaciones en DataFrame, y utilizando datetime64 [ns] Series o Timestamps para operaciones de sustracción para construir timedelta64 [ns] Series .
Ahora creamos un DataFrame con objetos Timedelta y datetime y realizamos algunas operaciones aritméticas-

 import pandas as pd
 s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
 td = pd.Series([pd.Timedelta(days=i) for i in range(3))
 df = pd.DataFrame(dict(A = s, B = td))
 print(df)

Los resultados de la ejecución son los siguientes:

          A B
0  2012-01-01 0 días
1  2012-01-02 1 días
2  2012-01-03 2 días

Operación de adición

 import pandas as pd
 s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
 td = pd.Series([pd.Timedelta(days=i) for i in range(3))
 df = pd.DataFrame(dict(A = s, B = td))
 df['C'] = df['A']+df['B']
 print(df)

Los resultados de la ejecución son los siguientes:

         A B C
0 2012-01-01 0 días 2012-01-01
1 2012-01-02 1 días 2012-01-03
2 2012-01-03 2 días 2012-01-05

Operación de sustracción

 import pandas as pd
 s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
 td = pd.Series([pd.Timedelta(days=i) for i in range(3))
 df = pd.DataFrame(dict(A = s, B = td))
 df['C'] = df['A']+df['B']
 df['D'] = df['C']+df['B']
 print(df)

Los resultados de la ejecución son los siguientes:

         A B C D
0 2012-01-01 0 días 2012-01-01 2012-01-01
1 2012-01-02 1 días 2012-01-03 2012-01-04
2 2012-01-03 2 días 2012-01-05 2012-01-07