如何在Pandas数据帧中搜索dtype:object的特定日期(2010-12-01)



我有一个pandas系列(df1['Dates'](,它表示日期(没有时间(,并且是对象数据类型:

df1['Dates'] = pd.to_datetime(df1['InvoiceDate']).dt.date 

(其中InvoiceDate为数据类型:datetime64[ns](

df1.Dates
0         2010-12-01
1         2010-12-01
2         2010-12-01
3         2010-12-01
4         2010-12-01
...    
541904    2011-12-09
541905    2011-12-09
541906    2011-12-09
541907    2011-12-09
541908    2011-12-09
Name: Dates, Length: 541909, dtype: object

现在要在df1[日期]中搜索特定日期,请说";2010-12-01";使用"=="操作员我得到的输出为空,尽管给定日期存在于数据集中:

df1[df1.Dates=="2010-12-01"] 

我哪里做错了??或者还有其他搜索方式吗。

相等运算符的右侧应该与df1['Dates']的元素(dtype(类型相同,即datetime.date,按照您设置的方式。因此,以下内容应该适用于

import datetime
df1[df1['Dates'] == datetime.date(day = 1,month = 12,year = 2010)]

df1[df1['Dates'] == datetime.datetime.strptime('2010-12-01','%Y-%m-%d').date()]

最新更新