擅长:python、mysql、java
<p>让我们做一个合成实验。假设我们有每日时间序列数据:</p>
<pre><code>dates = pd.date_range(start, end, freq='D')
ts = pd.Series(data, index=dates)
</code></pre>
<p>通过平均一个月内的所有数据生成每月时间序列:</p>
<pre><code>ts_mon = ts.resample('MS', how='mean')
</code></pre>
<p>现在尝试将这个月时间序列重新采样到日时间序列,在一个月内使用统一的值。使用reindex从@unutbu借用一个步骤的第一个方法工作得很好:</p>
<pre><code>ts_daily = ts_mon.reindex(dates, method='ffill')
Out:
2000-01-01 100.21
2000-01-02 100.21
...
2000-12-30 80.75
2000-12-31 80.75
</code></pre>
<p>使用resample<strong>的第二个方法不起作用,因为它返回上个月的第一天:</p>
<pre><code>ts_daily = ts_mon.resample('D').ffill()
Out:
2000-01-01 100.21
2000-01-02 100.21
...
2000-11-30 99.33
2000-12-01 80.75
</code></pre>