我有一个pandas数据框,索引= datetime.datetime(年,月,日,小时,分钟)
我希望能够使用它来获取每小时/每日/每周数据,其中每小时数据将是与框架中每小时相对应的最后一个条目。
有没有内置的方法来做到这一点?我试过制作案例,例如在每日数据的情况下,我将小时和分钟输入更改为零,但我仍然在同一天有一个包含多个条目的数据框。我怎样才能获得与每一天相对应的最后一个条目?
示例数据框:
index x y
2016-01-01 00:07:00-05:00 1.000 0.000
2016-01-01 00:10:00-05:00 1.000 0.000
2016-01-01 00:15:00-05:00 1.000 0.000
2016-01-01 00:16:00-05:00 1.000 0.000
2016-01-01 00:20:00-05:00 1.000 0.000
2016-01-01 00:21:00-05:00 1.000 0.000
2016-01-01 00:26:00-05:00 1.000 0.000
2016-01-01 00:31:00-05:00 1.000 0.000
2016-01-01 00:37:00-05:00 1.000 0.000
2016-01-01 00:40:00-05:00 1.000 0.000
2016-01-01 00:46:00-05:00 1.000 0.000
2016-01-01 00:51:00-05:00 1.000 0.000
2016-01-01 00:56:00-05:00 1.000 0.000
2016-01-03 19:26:00-05:00 1.000 0.000
2016-01-03 19:34:00-05:00 1.000 0.000
2016-01-03 20:02:00-05:00 1.000 0.000
2016-01-03 20:06:00-05:00 1.000 0.000
2016-01-03 20:07:00-05:00 1.000 0.000
2016-01-03 20:08:00-05:00 1.000 0.000
2016-01-03 20:10:00-05:00 1.000 0.000
2016-01-03 20:11:00-05:00 1.000 0.000
2016-01-03 20:12:00-05:00 1.000 0.000
2016-01-03 20:13:00-05:00 1.000 0.000
答案 0 :(得分:2)
假设我理解你的问题(看一些代码示例会很有帮助),听起来你可以使用resample:
df.resample('D', how='sum')
它的工作方式类似于groupby或数据透视表:
DataFrame.resample(规则,how = None,axis = 0,fill_method = None, closed = None,label = None,convention ='start',kind = None,loffset = None, limit = None,base = 0)频率转换的便捷方法 重新采样常规时间序列数据。
参数:rule:string表示的偏移字符串或对象 目标转换轴:int,可选,默认0关闭:{'right', 'left'} bin间隔的哪一边是封闭标签:{'right','left'} 使用约定标记存储桶的bin边缘标签:{'start', 'end','s','e'} loffset:timedelta调整重采样时间标签 base:int,default 0对于均匀细分1天的频率, 聚合间隔的“起源”。例如,'5min' 频率,基数范围从0到4.默认为0