【问题标题】:Splicing Together Series in Pandas熊猫拼接系列
【发布时间】:2017-09-15 01:22:15
【问题描述】:

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

示例代码:

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。

【问题讨论】:

    标签: python pandas splice


    【解决方案1】:

    对于这种特定情况,您可以使用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
    

    【讨论】:

      猜你喜欢
      • 2020-11-17
      • 2020-06-03
      • 1970-01-01
      • 2018-02-17
      • 2013-01-01
      • 2020-03-17
      • 2014-06-15
      • 2020-06-17
      • 1970-01-01
      相关资源
      最近更新 更多