擅长:python、mysql、java
<p>为了避免Datetime比较的复杂性(除非这是你的全部观点,在这种情况下忽略我的答案),并通过时隙窗口显示这组问题的本质,我在这里假设时间是整数。你知道吗</p>
<pre><code>df = pd.DataFrame({'time':[8, 48, 250, 52, 1001, 1003, 1005, 1008, 2001, 2003, 2056],
'gap': [1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1]})
slots = np.array([0, 1000, 1500])
df['slot'] = df.apply(func = lambda x: slots[np.argmax(slots[x['time']>slots])], axis=1)
df.groupby('slot')[['gap']].sum()
</code></pre>
<p><strong>输出</strong></p>
<pre><code> gap
slot
-
0 2
1000 1
1500 3
</code></pre>