python - 根据 pandas 中的今天日期(今天或之前)过滤数据框
问题描述
我有一个如下所示的数据框
Unit_ID Added_Date Status
105 2019-10-02 08:14:16 Rented
106 2020-10-21 07:19:13 Rented
109 2020-01-02 07:18:19 Rented
108 2020-06-01 04:15:28 Vacant
从上面的数据中,我想在“Added_Date”列中过滤当天或之前的数据。
预期输出:
Unit_ID Added_Date Status
105 2019-10-02 08:14:16 Rented
109 2020-01-02 07:18:19 Rented
解决方案
你可以这样做
from datetime import datetime
# Make sure your date column is a date an not a string
df['Added_Date'] = pd.to_datetime(df['Added_Date'])
# Compare with today's date
df.loc[df['Added_Date'] > pd.Timestamp(datetime.now()), 'Added_Date']
输出:
1 2020-10-21 07:19:13
3 2020-06-01 04:15:28
Name: Added_Date, dtype: datetime64[ns]
pd.to_datetime()
并pd.Timestamp()
确保日期格式相同,并且可以与标准 pandas 运算符进行比较。
推荐阅读
- c# - 从表单中检索多行/记录
- raku - 如何将数组插入到数组数组中?
- spring - Spring Webflow - 转换器类型的问题
- postgresql - 如何在 Express.js 中实现 postgraphile
- r - 从导入的文本文件中为单词着色,并保存为格式化的 Word 文档
- python - 如何使用 pyaudio 处理上一个、即时和下一个缓冲区以进行重叠?
- syntax - 如何在不破坏代码的情况下在 Python shell 中使用不同的缩进获取换行符
- node.js - Stripe TLS 1.2 Webhook 问题
- javascript - 预加载页面适用于所有主流浏览器,但 Safari 除外
- spring-boot - 为什么 Spring 的 @Query 注解返回 Object 类型?