我正在使用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:
df.index:
我现在想做什么,但我完全不知道怎么做,是按小时频率过滤索引,然后选择相应的点。
我认为我应该做的是创建一个具有所需索引的Pandas数组并使用它来切片我的主数组,但是我该怎么做呢? pandas.date_range可以帮我创建这个'所需'数组吗?或者有更简单的方法吗?
感谢您的时间。
答案 0 :(得分:1)
您可以使用pd.TimeGrouper
对象并提取每个小时组的第一行,如下所示:
df = df.groupby(pd.TimeGrouper('1H')).head(1)