为了账号安全,请及时绑定邮箱和手机立即绑定

通过 datetime.date 列表选择数据帧行(datetimeindex)

通过 datetime.date 列表选择数据帧行(datetimeindex)

千巷猫影 2021-12-21 17:02:42
df 看起来像这样:DateTime2017-07-10 03:00:00    288.02017-07-10 04:00:00    306.02017-08-10 05:00:00    393.02017-08-10 06:00:00    522.02017-09-10 07:00:00    487.02017-09-10 08:00:00    523.02017-10-10 09:00:00    585.0询问如何选择日期列表中的行:['2017-07-10', '2017-09-10']具有:DateTime2017-07-10 03:00:00    288.02017-07-10 04:00:00    306.02017-09-10 07:00:00    487.02017-09-10 08:00:00    523.0谢谢
查看完整描述

2 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

鉴于您列表中的日期最多包含每日信息,您可以首先将 ( Series.dt.floor)DatetimeIndex到每日级别并使用isin以下日期时间对象列表进行索引:


t = [pd.to_datetime('2017-07-10'), pd.to_datetime('2017-09-10')]

df.index= pd.to_datetime(df.index)


df[df.index.floor('d').isin(t)]

输出


   DateTime

2017-07-10 03:00:00     288.0

2017-07-10 04:00:00     306.0

2017-09-10 07:00:00     487.0

2017-09-10 08:00:00     523.0


查看完整回答
反对 回复 2021-12-21
?
萧十郎

TA贡献1815条经验 获得超13个赞

假设日期时间是索引,请尝试以下操作:


to_search=['2017-07-10', '2017-09-10']

df[df.index.to_series().dt.date.astype(str).isin(to_search)]

                        1

DateTime                  

2017-07-10 03:00:00  288.0

2017-07-10 04:00:00  306.0

2017-09-10 07:00:00  487.0

2017-09-10 08:00:00  523.0


查看完整回答
反对 回复 2021-12-21
  • 2 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信