Need to convert object type to Date-time and use that converted date-time is unknowingly changed to the object again while filtering.
msft['Tested On'] = pd.to_datetime(msft['Tested On'])
msft['Tested On'].dt.date
df = msft[msft['Tested On'] == '2018-02-02']
Actual result: TypeError: 'NoneType' object is not subscriptable
Expected result: Need to display the filtered list with the other rows and columns also
I think you need to_datetime
and if first digit is day, add parameter dayfirst=True
:
print (msft)
Title plan run status Tested On
0 A P0 P0 Passed 11/08/2018 8:42 AM
1 B P0 P0 Failed 12/08/2018 8:42 AM
2 C - Canary Passed 10/08/2018 8:42 AM
3 D - Sanity Blocked 11/08/2018 8:42 AM
msft['Tested On'] = pd.to_datetime(msft['Tested On'], dayfirst=True)
print (msft)
Title plan run status Tested On
0 A P0 P0 Passed 2018-08-11 08:42:00
1 B P0 P0 Failed 2018-08-12 08:42:00
2 C - Canary Passed 2018-08-10 08:42:00
3 D - Sanity Blocked 2018-08-11 08:42:00
Then remove times by dt.floor
and compare:
df = msft[msft['Tested On'].dt.floor('d') == '2018-08-11']
print (df)
Title plan run status Tested On
0 A P0 P0 Passed 2018-08-11 08:42:00
3 D - Sanity Blocked 2018-08-11 08:42:00
Detail:
print (msft['Tested On'].dt.floor('d'))
0 2018-08-11
1 2018-08-12
2 2018-08-10
3 2018-08-11
Name: Tested On, dtype: datetime64[ns]