我下面有一个Excel工作表
A B C
Name Start Date End Date
Ajay 6/2/2019 6/18/2019
Sham 6/3/2019 6/18/2019
Ramu 6/5/2019 6/18/2019
Ravi 6/7/2019 6/18/2019
现在我想按日期在python中过滤数据
所以我想选择开始日期和结束日期
例如:6/5/2019至6/18/2019
,结果应为:
A B C
Name Start Date End Date
Ramu 6/5/2019 6/18/2019
Ravi 6/7/2019 6/18/2019
如何在python中实现呢?
预先感谢
我已经尝试过使用此代码,但我不知道该怎么做
df[(df['date'] >= '02/01/2001') & (df['date'] <= '05/01/2001')]
答案 0 :(得分:0)
首先使用pd.to_datetime
将日期字段转换为datetime
格式,以便可以应用过滤器。您现在正在尝试对object(string)
类型的列应用计算。
我在这里使用ge
代表“大于或等于”,但是您也可以使用>=
和<=
df['Start Date'] = pd.to_datetime(df['Start Date'])
df['End Date'] = pd.to_datetime(df['End Date'])
df[df['Start Date'].ge('2019-06-05') & df['End Date'].ge('2019-06-18')]
Name Start Date End Date
2 Ramu 2019-06-05 2019-06-18
3 Ravi 2019-06-07 2019-06-18