<p>在您的<em>df</em>中添加<em>时差</em>列:</p>
<pre><code>df['tDiff'] = df.timestamp.diff()
</code></pre>
<p>然后,要查找与上一行时间间隔“太大”的行,请运行:</p>
<pre><code>df[df.tDiff > pd.Timedelta('6M')]
</code></pre>
<p>当然,如何设置阈值timedelta是一个选择问题。
您可以取另一个值,而不是<em>6 min</em></p>
<p>为了测试,我稍微扩展了你的数据:</p>
<pre><code> timestamp temp
0 2016-08-02 00:14:01 12.1
1 2016-08-02 09:05:04 22.0
2 2016-08-02 09:09:44 12.9
3 2016-08-02 09:15:01 44.1
4 2016-08-02 09:19:54 11.3
5 2016-08-02 23:58:54 10.0
6 2016-08-03 00:04:01 12.1
7 2016-08-03 09:05:04 22.0
8 2016-08-03 09:09:44 12.9
9 2016-08-03 09:15:01 44.1
10 2016-08-03 09:19:54 11.3
</code></pre>
<p>对于这些数据,结果是:</p>
<pre><code> timestamp temp tDiff
1 2016-08-02 09:05:04 22.0 08:51:03
5 2016-08-02 23:58:54 10.0 14:39:00
7 2016-08-03 09:05:04 22.0 09:01:03
</code></pre>
<p>例如,截至<em>2016-08-02 09:05:04</em>的读数在超过8小时后出现
在上次阅读之后</p>
<h2>在注释后编辑</h2>
<p>对于间隙的图形表示,另一种方法可能更有用</p>
<ol>
<li><p>添加<em>上一个时间戳</em>列(插入<em>tDiff</em>):</p>
<pre><code>df['tPrev'] = df.timestamp.shift()
</code></pre></li>
<li><p>创建一个包含“间隔开始”和“间隔结束”列的数据帧:</p>
<pre><code>gaps = df[(df.timestamp - df.tPrev) > pd.Timedelta('6M')][['tPrev', 'timestamp']]
</code></pre></li>
</ol>
<p>对于我的源数据,结果是:</p>
<pre><code> tPrev timestamp
1 2016-08-02 00:14:01 2016-08-02 09:05:04
5 2016-08-02 09:19:54 2016-08-02 23:58:54
7 2016-08-03 00:04:01 2016-08-03 09:05:04
</code></pre>
<p>但如何生成这样一幅图片是一个很好的素材
另一个问题</p>