熊猫拼接系列
问题描述:
我有两个系列代表相同的底层数据,但一个是季度(具有更多的历史背景),第二个是每月。我希望将每月的数据与季度数据重新拼接起来,这样我就可以将这两个数据结合起来。做这件事最“熊猫”的方式是什么?我已经将每月的季度数据重新抽样。熊猫拼接系列
示例代码:
ts1 = pd.Series(data=1, index=pd.DatetimeIndex(freq="Q", start="2000-03-31", end="2016-03-31")).resample("M").last().ffill()
ts2 = pd.Series(data=2, index=pd.DatetimeIndex(freq="M", start="2012-01-31", end="2016-03-31"))
我想的结果是TS1之后2012-01-31和TS2之前。
答
对于这个特定的情况下,你可以使用combine_first
:
ts2.combine_first(ts1)
这将需要的值从ts2
如果两个系列包含相同的指数,并从ts1
如果只ts1
有指标。
您还可以使用pd.concat:
pd.concat((ts1[:'20120130'], ts2))
pd.concat((ts1[:'20120130'], ts2)).equals(ts2.combine_first(ts1))
Out: True