Pandas:在add()期间将序列视为步骤函数?

Pandas:在add()期间将序列视为步骤函数?,pandas,time-series,Pandas,Time Series,当添加两个索引不相同的时间序列时,将创建并分配两个时间序列都不通用的索引值 import pandas as pd import numpy as np from datetime import datetime ts1 = pd.Series([1, 2], index=[datetime(2011,1,2), datetime(2011,1,3)]) ts2 = pd.Series([3, 4], index=[datetime(2011,1,3), datetime(2011,1,4)]

当添加两个索引不相同的时间序列时,将创建并分配两个时间序列都不通用的索引值

import pandas as pd
import numpy as np
from datetime import datetime

ts1 = pd.Series([1, 2], index=[datetime(2011,1,2), datetime(2011,1,3)])
ts2 = pd.Series([3, 4], index=[datetime(2011,1,3), datetime(2011,1,4)])

ts1.add(ts2)
  2011-01-02    NaN
  2011-01-03    5.0
  2011-01-04    NaN
  dtype: float64
如何添加两个系列,以便为缺失的日期时间点分配紧靠前一个日期时间值的值?(将两个系列视为逐步函数)

例如,我希望得到以下结果:

ts1.add(ts2)
  2011-01-02    NaN     # ts2 has no prior value for this date, so still NaN
  2011-01-03    5.0     #
  2011-01-04    6.0     # ts1 carries over the value 2 from 2011-01-03
  dtype: float64

如果使用两个系列的索引并集对它们重新编制索引,则可以使用
ffill
方法用前面的值填充缺少的值

union = ts1.index.union(ts2.index)
ts1.reindex(union, method='ffill').add(ts2.reindex(union, method='ffill'))
屈服

2011-01-02    NaN
2011-01-03    5.0
2011-01-04    6.0
dtype: float64