[英]pandas: filter intraday df by non-consecutive list of dates
我有1分钟的数据框,可以追溯到几年(datetime是索引)。 我需要获得一组覆盖不规则(非连续)长日期列表的条形图。
对于日常酒吧,我可以这样做:
datelist = ['20140101','20140205']
dfFiltered = df[df.index.isin(datelist)]
但是,如果我尝试使用1分钟的条形数据,它只会为我提供时间00:00:00的条形,例如,在这种情况下,它会为我提供20140101 00:00:00和20140205 00:00:00的两个条形。
我的实际来源df如下所示:
df1m = pd.DataFrame(index=pd.date_range('20100101', '20140730', freq='1min'),
data={'open':3, 'high':4, 'low':1, 'close':2}
).between_time('00:00:00', '07:00:00')
是否有比遍历列表更好的方法来获取列表中每一天的所有酒吧? 提前致谢。
一种方法是根据索引添加日期列
df1m['date'] = pd.to_datetime(df1m.index.date)
然后在过滤时使用该列
datelist = ['20140101','20140205']
df1m[df1m['date'].isin(datelist)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.