按 datetime64 中没有日期的时间过滤

Posted

技术标签:

【中文标题】按 datetime64 中没有日期的时间过滤【英文标题】:Filter By Time Without Date in datetime64 【发布时间】:2020-09-25 12:51:51 【问题描述】:

假设我有一个数据框,其中有一列名为 my_date_time,其类型为 datetime64

如何仅按时间部分进行过滤?

例如,我想做这样的事情:

df[some_magic_func(df['my_date_time']) < '09:30:00.123456']

谢谢。

【问题讨论】:

【参考方案1】:

您可以使用以下过滤器:

df.loc[df.my_date_time.dt.time<pd.to_datetime('09:30:00.123456').time()]

【讨论】:

你也可以使用pd.to_datetime,这里不需要也使用datetime模块 @MrFuppes OK.updated 使用 pd.to datetime.Thanks 抱歉,还有一个相关的问题——如果我想过滤具有 2 个不相交时间范围(不是日期时间)的 DatetimeIndex 怎么办? 您可以在过滤条件中传递 df.index ..您也可以传递范围..但是脱节是什么意思?你能给出示例值吗?

以上是关于按 datetime64 中没有日期的时间过滤的主要内容,如果未能解决你的问题,请参考以下文章

在datagridview中过滤数据时截断日期

从 SQL 数据库导入表并按日期过滤行时,将 Pandas 列解析为 Datetime

从 SQL 数据库导入表并按日期过滤行时,将 Pandas 列解析为 Datetime

pandas 中 datetime 和 datetime64[ns] 的比较

Django 按时间过滤日期时间字段,与日期无关

Django 查询 - 如何按日期过滤总和?