<p>您可以使用除法和<code>np.repeat</code>调用来优化值的计算,但是计算日期范围将需要一个循环。你知道吗</p>
<p>这无疑是一个更干净的方法。首先,通过执行除法计算序列的值,然后重复<code>5</code>次(在-</p>
<pre><code>i = (ts.values / 5).repeat(5)
</code></pre>
<p>现在,在每个索引上运行一个循环,调用<code>pd.date_range</code>并将值添加到列表<code>j</code></p>
<pre><code>j = []
for x, y in zip(ts.index, ts.index + pd.Timedelta(days=4)):
j.extend(pd.date_range(x, y))
</code></pre>
<p>现在,初始化序列,并执行<code>groupby</code>。你知道吗</p>
<pre><code>pd.Series(i, index=j).groupby(level=0).sum()
2017-01-01 20.0
2017-01-02 20.0
2017-01-03 60.0
2017-01-04 60.0
2017-01-05 60.0
2017-01-06 40.0
2017-01-07 40.0
2017-01-10 100.0
2017-01-11 100.0
2017-01-12 100.0
2017-01-13 100.0
2017-01-14 100.0
dtype: float64
</code></pre>
<hr/>
<p><code>i</code></p>
<pre><code>array([ 20., 20., 20., 20., 20., 40., 40., 40., 40.,
40., 100., 100., 100., 100., 100.])
</code></pre>
<p><code>j</code></p>
<pre><code>DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04',
'2017-01-05', '2017-01-03', '2017-01-04', '2017-01-05',
'2017-01-06', '2017-01-07', '2017-01-10', '2017-01-11',
'2017-01-12', '2017-01-13', '2017-01-14'],
dtype='datetime64[ns]', freq=None)
</code></pre>