时间差(Timedelta)是时间上的差异,以不同的单位来表示。例如:日,小时,分钟,秒。 它们可以是正值,也可以是负值。 可以使用各种参数创建Timedelta对象,如下所示 -
import pandas as pd
pd.Timedelta('2 days 2 hours 15 minutes 30 seconds')
Timedelta('2 days 02:15:30')
pd.Timedelta(6,unit='h')
Timedelta('0 days 06:00:00')
pd.Timedelta(days=2)
Timedelta('2 days 00:00:00')
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
A | B | |
---|---|---|
0 | 2012-01-01 | 0 days |
1 | 2012-01-02 | 1 days |
2 | 2012-01-03 | 2 days |
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']
df
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 |
df = pd.DataFrame(dict(A = s, B = td))
df['C']=df['A']+df['B']
df['D']=df['C']-df['B']
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 |