Python日期时间字段
请参阅此程序:Python日期时间字段,python,pandas,datetime,Python,Pandas,Datetime,请参阅此程序: dfPeople = pd.DataFrame({'name': ['alice','bob'],'date_of_birth': ['10/25/1995 03:30','10/29/2002 9:25']}) dfPeople['date_of_birth'] = pd.to_datetime(dfPeople['date_of_birth']) dfPeople['date_of_birth'].dtype theDate = dfPeople['date_of_b
dfPeople = pd.DataFrame({'name': ['alice','bob'],'date_of_birth': ['10/25/1995 03:30','10/29/2002 9:25']})
dfPeople['date_of_birth'] = pd.to_datetime(dfPeople['date_of_birth'])
dfPeople['date_of_birth'].dtype
theDate = dfPeople['date_of_birth'].dt.date
日期应该提取日期。当我尝试这样的事情时
if theDate[0]=='1995-10-25':
print("equal")
我没有看到打印的声明。提前谢谢。这是意料之中的,因为比较类型
日期
和类型字符串
因此,我们需要:
from datetime import datetime
if theDate[0]==datetime.strptime('1995-10-25', '%Y-%m-%d').date():
print("equal")
如果希望在pandas中比较掩码,则可以使用或删除时间,但仍然是日期时间,因此请使用字符串进行比较:
theDate = dfPeople['date_of_birth'].dt.floor('d')
#alternative
#theDate = dfPeople['date_of_birth'].dt.normalize()
print (theDate == '1995-10-25')
0 True
1 False
Name: date_of_birth, dtype: bool
因为比较类型
date
和类型string
,所以应该是这样
因此,我们需要:
from datetime import datetime
if theDate[0]==datetime.strptime('1995-10-25', '%Y-%m-%d').date():
print("equal")
如果希望在pandas中比较掩码,则可以使用或删除时间,但仍然是日期时间,因此请使用字符串进行比较:
theDate = dfPeople['date_of_birth'].dt.floor('d')
#alternative
#theDate = dfPeople['date_of_birth'].dt.normalize()
print (theDate == '1995-10-25')
0 True
1 False
Name: date_of_birth, dtype: bool