Pandas 按datetime64中不带日期的时间筛选

Pandas 按datetime64中不带日期的时间筛选,pandas,datetime,time,Pandas,Datetime,Time,假设我有一个数据框,其中有一列名为my_date\u time,它的类型是datetime64 如何仅按时间部分进行过滤 例如,我想做如下事情: df[some_magic_func(df['my_date_time']) < '09:30:00.123456'] df[some_magic_func(df['my_date\u time'))

假设我有一个数据框,其中有一列名为
my_date\u time
,它的类型是
datetime64

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

例如,我想做如下事情:

df[some_magic_func(df['my_date_time']) < '09:30:00.123456']
df[some_magic_func(df['my_date\u time'))<'09:30:00.123456']

谢谢。

您可以使用以下选项进行筛选:

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

df.loc[df.my_date_time.dt.time您也可以使用
pd.to_datetime
,无需同时使用
datetime
模块here@MrFuppes好的。更新为使用pd.to datetime.Thankstorry,一个额外的相关问题——如果我想过滤具有两个不连续时间范围(不是datetime)的DatetimeIndex,该怎么办?您可以通过筛选条件中的df.index..也可以通过range..但您所说的不连续是什么意思?您能给出示例值吗?