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

Timedelta do Pandas

Tutorial do Pandas

Exemplo de operação de Timedelta do Pandas

A variação de tempo é a diferença de tempo, expressa na unidade de diferença, por exemplo, dias, horas, minutos, segundos. Pode ser positiva ou negativa.

Pode-se criar um objeto timedelta passando uma string literal.

String-

import pandas as pd
Podemos usar vários parâmetros para criar objetos Timedelta, conforme mostrado a seguir2 dias 2 print(pd.Timedelta(' 15 horas 3minutos

Os resultados da execução são os seguintes:

 2 0 segundos'))2dias 015dias 030

:

Passe um valor inteiro para a unidade para criar um objeto Timedelta. Inteiro

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

Os resultados da execução são os seguintes:

 0 dias 06:00:00

Deslocamento de dados

Deslocamento de dados (por exemplo-semanas, dias, horas, minutos, segundos, milissegundos, microsegundos, nanossegundos) também podem ser usados na construção.

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

Os resultados da execução são os seguintes:

2 dias 00:00:00

to_timedelta()

Usando pd.to_timedelta, você pode converter escalares, arrays, listas ou séries de公认的 formatos timedelta/A conversão de valor para o tipo Timedelta. Se a entrada for Series, será construída uma Series; se a entrada for escalar, será construída uma escalar; caso contrário, será gerado um TimedeltaIndex.

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

Os resultados da execução são os seguintes:

2 dias 00:00:00

Operação Específica

Você pode operar na Série / Operações no DataFrame, e passando por datetime64 [ns] Série ou Timestamps para operação de subtração para construir timedelta64 [ns] Série .
Agora vamos criar um DataFrame com objetos Timedelta e datetime e executar algumas operações aritméticas nele-

 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)

Os resultados da execução são os seguintes:

          A      B
0  2012-01-01 0 dias
1  2012-01-02 1 dias
2  2012-01-03 2 dias

Operação de Adição

 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)

Os resultados da execução são os seguintes:

         A      B          C
0 2012-01-01 0 dias 2012-01-01
1 2012-01-02 1 dias 2012-01-03
2 2012-01-03 2 dias 2012-01-05

Operação de Subtração

 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)

Os resultados da execução são os seguintes:

         A      B          C          D
0 2012-01-01 0 dias 2012-01-01 2012-01-01
1 2012-01-02 1 dias 2012-01-03 2012-01-04
2 2012-01-03 2 dias 2012-01-05 2012-01-07