如何根据精确匹配的日期值过滤熊猫数据框

Waq*_*qar 8 python numpy dataframe pandas

我一直在尝试过滤特定日期的数据框,尽管数据框中存在日期但它没有返回任何结果

基于查询的数据框中的数据

df[df['Date'] > '2017-03-20']
Run Code Online (Sandbox Code Playgroud)

返回这个结果

StaffID     Date        
90047   2017-03-20 19:00:00     
90049   2017-03-20 19:00:00     
90049   2017-03-27 19:00:00     
Run Code Online (Sandbox Code Playgroud)

虽然当我运行这个查询时

df[df['Date'] == '2017-03-20']
Run Code Online (Sandbox Code Playgroud)

或者

df.loc[df['Date'] == '2017-03-20']
Run Code Online (Sandbox Code Playgroud)

它根本没有返回任何结果,只是一个空的数据框

StaffID     Date
Run Code Online (Sandbox Code Playgroud)

我的数据框列类型是

StaffID                int64
Date          datetime64[ns]
Run Code Online (Sandbox Code Playgroud)

我已经通过将数据框日期与字符串进行比较以及将字符串日期转换为datetime64[ns]来尝试上述查询,结果仍然相同,请提供任何帮助,我们将不胜感激

Flo*_*oor 11

使用 dt.date astype 字符串然后比较 ie

df[df['Date'].dt.date.astype(str) == '2017-03-20']
Run Code Online (Sandbox Code Playgroud)

输出:

  员工 ID 日期
0 90047 2017-03-20 19:00:00
1 90049 2017-03-20 19:00:00