基于日期比较的Python数据框过滤

时间:2020-04-18 21:15:07

标签: python pandas dataframe timestamp

我正在尝试使用日期过滤我的数据框。从csv导入的日期以字符串形式。因此,我以“时间戳记”格式创建了带有日期的新列。然后我想与特定日期进行比较,但是出现以下错误

  • TypeError:“>”在“列表”的实例与 “时间戳记”

这是我的代码

import pandas as pd
data = [['agent_1','2019-06-27 15:35:49'],['agent_2','2029-06-27 15:35:49'],['agent_3','2019-04-27 15:35:49'],['agent_4','2029-06-27 15:35:49'],['agent_5','2019-02-27 15:35:49']]
MasterData = pd.DataFrame(data,columns=['Agents','timeCreated'])
MasterData['timeCreatedUpdated'] = pd.to_datetime(MasterData['timeCreated'],format='%Y-%m-%d %H:%M:%S')
MasterData.dtypes
datetime_object2 = pd.Timestamp(2019,8,1,12)
MasterData(['timeCreatedUpdated']>datetime_object2)

3 个答案:

答案 0 :(得分:0)

最后一行需要编辑:

MasterData[MasterData['timeCreatedUpdated']>datetime_object2]

答案 1 :(得分:0)

Mondy-您所做的一切正确,只是在最后一行做了一个小小的修正

使用

MasterData[MasterData["timeCreatedUpdated"] > datetime_object2] 

代替

MasterData(['timeCreatedUpdated']>datetime_object2)

它为您进行主要比较,并返回一个布尔值(真/假),现在我们将答案再次包装在DF中以获取值。

答案 2 :(得分:0)

尝试:

print(MasterData[MasterData['timeCreatedUpdated'] >pd.Timestamp(2019,8,1,12)]) 
相关问题