python - 仅基于天过滤日期时间时间戳列?
问题描述
我的 df 有一个 col 作为
Time
2017-10-04 19:00:00
2017-10-03 13:00:00
2017-10-04 04:00:00
2017-10-10 12:00:00
如果我想过滤 2017 年 10 月 10 日或之后的行或仅基于天数而不考虑时间的日期范围,这可能吗?
谢谢
解决方案
如果将Time
列设置为索引,则可以按如下方式切片:
df.set_index('Time', inplace=True)
- 具有给定日期的数据框
date1
:df = df[date1]
- 从日期
date1
开始的数据框:df = df[date1:]
- 数据框直到日期
date1
:df = df[:date1]
- 开始日期和结束日期之间的数据框
df = df[start_date:end_date]
如果您不想Time
用作索引,您可以执行相同的操作,但在此类列上使用稍微不同的 sintax:
- 具有给定日期的数据框
date1
:df = df[df['Time]==date1]
- 从日期
date1
开始的数据框:df = df[df['Time]>=date1]
- 数据框直到日期
date1
:df = df[df['Time]<date1]
- 开始日期和结束日期之间的数据框
df = df[df['Time].between(start,end)]
推荐阅读
- c++ - 为什么使用存储在虚方法表中的地址对虚函数的函数调用返回垃圾?
- tensorflow - Keras Mobile Net V1 for CIFAR-10 的预期验证准确度(从头开始训练)
- c# - C#:将模型从正文和文件作为 MultipartFormDataContent 发布
- javascript - 我收到 Unhandled Rejection (TypeError): router.transitionTo is not a function。什么可能是错的?
- php - PHP 5.3.3 重命名函数因“协议错误”而失败
- sql - 如何在sql中使用IN子句取回不匹配的元素的NULL
- entity-framework-core - What SQL Server 2017 features are not supported in Entity Framework Core code first?
- javascript - 什么可能使 odoo 出现 JavaScript 错误:域中不支持的运算符“不喜欢”
- docker - 使用网络构建器启动时 docker 出错
- php - preg_grep 不返回正确的结果