<p>使用<code>dt.strftime</code>然后用<code>boolean indexing</code>获得与日期相等的所有行</p>
<pre><code>m = df['Timestamp'].dt.strftime('%Y-%m-%d') == '2018-01-02'
df[m]
</code></pre>
<p>或在一行中:</p>
<pre><code>df[df['Timestamp'].dt.strftime('%Y-%m-%d').eq('2018-01-02')]
</code></pre>
<p><strong>输出</strong></p>
<pre><code> Id Timestamp Data Group_Id
2 6001 2018-01-02 00:00:13.507 127.0 52
3 6002 2018-01-02 00:00:13.743 126.5 52
</code></pre>
<hr/>
<p>我们也可以将<code>set_index</code>与<code>.loc</code>一起使用:</p>
<pre><code>df.set_index('Timestamp').loc['2018-01-02'].reset_index()
</code></pre>
<p><strong>输出</strong></p>
<pre><code> Timestamp Id Data Group_Id
0 2018-01-02 00:00:13.507 6001 127.0 52
1 2018-01-02 00:00:13.743 6002 126.5 52
</code></pre>
<hr/>
<p><em>注意</em>:如果您的<code>Timestamp</code>列还不是<code>datetime</code>,请在运行上述操作之前使用以下代码:</p>
<pre><code>df['Timestamp'] = pd.to_datetime(df['Timestamp'])
</code></pre>
<hr/>
<h3>问题1:</h3>
<pre><code>m = df['Timestamp'].dt.strftime('%Y-%m-%d') == '2018-01-02'
df[m].shape[0]
</code></pre>
<p>或者</p>
<pre><code>len(df[m])
</code></pre>
<hr/>
<h3>问题2:</h3>
<pre><code>m1 = df['Timestamp'].dt.strftime('%Y-%m-%d') == '2018-01-02'
m2 = df['Group_Id'].eq(52)
df[m1&m2]
</code></pre>