时间差(Timedelta)是时间上的差别,以不一样的单位来表示。例如:日,小时,分钟,秒。它们能够是正值,也能够是负值。
能够使用各类参数建立Timedelta
对象,以下所示 -shell
经过传递字符串,能够建立一个timedelta
对象。参考如下示例代码 -spa
import pandas as pd timediff = pd.Timedelta('2 days 2 hours 15 minutes 30 seconds') print(timediff)
输出结果:code
2 days 02:15:30
经过传递一个整数值与指定单位,这样的一个参数也能够用来建立Timedelta
对象。对象
import pandas as pd timediff = pd.Timedelta(6,unit='h') print(timediff)
输出结果:blog
0 days 06:00:00
例如 - 周,天,小时,分钟,秒,毫秒,微秒,纳秒的数据偏移也可用于构建。字符串
import pandas as pd timediff = pd.Timedelta(days=2) print(timediff)
输出结果:pandas
2 days 00:00:00
能够在Series/DataFrames上执行运算操做,并经过在datetime64 [ns]
系列或在时间戳上减法操做来构造timedelta64 [ns]
系列。参考如下示例代码 -it
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)
输出结果:io
A B 0 2012-01-01 0 days 1 2012-01-02 1 days 2 2012-01-03 2 days
import pandas as pd s = pd.Series(pd.date_range('2018-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)
输出结果:class
A B C 0 2018-01-01 0 days 2018-01-01 1 2018-01-02 1 days 2018-01-03 2 2018-01-03 2 days 2018-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)
输出结果:
A B C D 0 2018-01-01 0 days 2018-01-01 2018-01-01 1 2018-01-02 1 days 2018-01-03 2018-01-02 2 2018-01-03 2 days 2018-01-05 2018-01-03