擅长:python、mysql、java
<p>如果您的目标是指示<em>其中</em>缺少时间戳,则可以转换为datetime并使用<code>diff</code>查看行之间的时间差,然后使用<code>>'00:00:05'</code>查看间隔是否大于5秒:</p>
<pre><code>>>> pd.to_datetime(df['timestamp']).diff() > '00:00:05'
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 False
8 True
9 False
10 False
11 False
12 False
13 False
Name: timestamp, dtype: bool
</code></pre>
<p>这表示您缺少索引<code>8</code>上的记录</p>
<p>如果您的目标仅仅是查看您是否缺少时间戳,请使用<code>any</code>:</p>
^{pr2}$
<p>表明你确实在某处丢失了时间戳</p>
<p><strong>[编辑]</strong>根据@JoranBeasley的建议,您还可以使用时差模式来推断所需频率:</p>
<pre><code>d = pd.to_datetime(df['timestamp']).diff()
>>> (d > d.mode()[0])
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 False
8 True
9 False
10 False
11 False
12 False
13 False
Name: timestamp, dtype: bool
</code></pre>
<p>因为<code>d.mode()[0]</code>将返回观察到的最常见频率:</p>
<pre><code>>>> d.mode()[0]
Timedelta('0 days 00:00:05')
</code></pre>