繁体   English   中英

大熊猫:按非连续日期列表过滤日内DF

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM