我有以下数据框,有几天,每 15 分钟测量一次:
CONSUMPTION
2016-11-01 01:00:00 3539
2016-11-01 01:15:00 3560
2016-11-01 01:30:00 3505
....
2016-11-02 01:00:00 3400
2016-11-02 01:15:00 3447
....
2016-11-03 01:00:00 2400
2016-11-03 01:15:00 2447
如果要求简单的一天,每个都有效:
df['2016-11-01']
我得到了那天的所有小节,96 小节:
CONSUMPTION
2016-11-01 01:00:00 3539
2016-11-01 01:15:00 3560
2016-11-01 01:30:00 3505
....
但是我的问题是我想得到一个日期列表,但这行不通:
df[['2016-11-01','2016-11-03']]
我取得的最大成就是这个(但这不是我想要的,观察到 1 每天获得一个测量值,而不是我预期的 96 个测量值):
qwe=['2016-11-01','2016-11-03']
df.ix[df.index.to_datetime().isin(qwe)]
CONSUMPTION
2016-11-01 3539
2016-11-03 2400
任何想法将不胜感激......
最佳答案
将日期时间设置为 Day,然后使用 isin 和 loc,即
li = ['2016-11-01','2016-11-02']
df.loc[(df.index.floor('D').isin(li)),:]
CONSUMPTION
Date
2016-11-01 01:00:00 3539
2016-11-01 01:15:00 3560
2016-11-01 01:30:00 3505
2016-11-02 01:00:00 3400
2016-11-02 01:15:00 3447
关于python - 如何按日期列表过滤日期和时间的数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48152584/