使用pandas将DatetimeIndex向量过滤到特定频率

时间:2017-10-04 20:22:04

标签: python pandas datetime dataframe

我正在使用findatapy从DukasCopy获取外汇汇率,该套餐效果很好。这是我正在使用的脚本:

class LazySample {
    val lazy: String by lazy {
        println("computed!")
        return@lazy "my lazy"
    }
}

我只对每小时频率(00:00:00,01:00:00,02:00:00等)感兴趣。这意味着在过滤后,我每天只能得到24分。

现在,我得到的结果就是这个。

DF:

enter image description here

df.index:

enter image description here

我现在想做什么,但我完全不知道怎么做,是按小时频率过滤索引,然后选择相应的点。

我认为我应该做的是创建一个具有所需索引的Pandas数组并使用它来切片我的主数组,但是我该怎么做呢? pandas.date_range可以帮我创建这个'所需'数组吗?或者有更简单的方法吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

您可以使用pd.TimeGrouper对象并提取每个小时组的第一行,如下所示:

df = df.groupby(pd.TimeGrouper('1H')).head(1)