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