我下面有一个 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 中按日期过滤数据
所以我想选择开始日期和结束日期
例如:2019年6月5日至2019年6月18日
结果应该是:
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')]
最佳答案
首先将日期字段转换为 datetime
格式为 pd.to_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
关于python - 在Python中按日期过滤Excel中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56651685/