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
萧十郎
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
添加回答
举报
0/150
提交
取消