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

How to search for a specific date(2010-12-01) which is of dtype: object in Pandas dataframe?

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

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

(发票日期为 dtype: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['Dates'] 中搜索特定日期,使用“==”运算符说“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()]