选择数据帧行(时间指数)通过日期时间的列表d

2024-05-05 01:39:43 发布

您现在位置:Python中文网/ 问答频道 /正文

测向图如下:

DateTime
2017-07-10 03:00:00    288.0
2017-07-10 04:00:00    306.0
2017-08-10 05:00:00    393.0
2017-08-10 06:00:00    522.0
2017-09-10 07:00:00    487.0
2017-09-10 08:00:00    523.0
2017-10-10 09:00:00    585.0

问题:如何选择日期列表中的行:

^{pr2}$

拥有:

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

谢谢


Tags: 列表datetimepr2
2条回答

假设Datetime是index,请尝试以下操作:

to_search=['2017-07-10', '2017-09-10']
df[df.index.to_series().dt.date.astype(str).isin(to_search)]

^{pr2}$

考虑到列表中的日期最多包含每日信息,您可以从将^{})添加到DatetimeIndex到每日级别,并使用^{}为日期时间对象列表编制索引:

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)]

输出

^{pr2}$

相关问题 更多 >