时间差(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 |