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