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