在熊猫中拼接系列

时间:2017-04-19 02:12:05

标签: python pandas splice

我有两个系列代表相同的基础数据,但一个是季度(有更多的历史),第二个是每月。我想将月度数据与季度数据拼接起来,这样我就可以得到一个结合两者的单一系列。这种做法最“熊猫”的方式是什么?我已经将季度数据重新采样为每月一次。

示例代码:

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"))

我希望结果是2012-01-31之前的ts1和之后的ts2。

1 个答案:

答案 0 :(得分:2)

对于这种特定情况,您可以使用combine_first

ts2

如果两个系列包含相同的索引,则会显示ts1的值;如果ts1只包含该索引,则会从pd.concat((ts1[:'20120130'], ts2)) 获取值。

您也可以使用pd.concat:

pd.concat((ts1[:'20120130'], ts2)).equals(ts2.combine_first(ts1))
Out: True
{{1}}