按 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 中没有日期的时间过滤的主要内容,如果未能解决你的问题,请参考以下文章
从 SQL 数据库导入表并按日期过滤行时,将 Pandas 列解析为 Datetime
从 SQL 数据库导入表并按日期过滤行时,将 Pandas 列解析为 Datetime