2017-04-19 186 views
0

我有兩個系列代表相同的底層數據,但一個是季度(具有更多的歷史背景),第二個是每月。我希望將每月的數據與季度數據重新拼接起來,這樣我就可以將這兩個數據結合起來。做這件事最「熊貓」的方式是什麼?我已經將每月的季度數據重新抽樣。熊貓拼接系列

示例代碼:

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之前。

回答

2

對於這個特定的情況下,你可以使用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