其他分享
首页 > 其他分享> > 如何重新采样/下采样不规则的时间戳列表?

如何重新采样/下采样不规则的时间戳列表?

作者:互联网

简单的问题,但我找不到一个简单的答案.

我有一个数据列表,它以秒为单位计算事件发生的时间:

[200.0 420.0 560.0 1100.0 1900.0 2700.0 3400.0 3900.0 4234.2 4800.0 etc..]

我想计算每小时(3600秒)发生了多少事件,并创建一个这些计数的新列表.

我知道这称为下采样,但是我能找到的所有信息都与传统时间序列有关.

对于上面的示例,新列表如下所示:

[7 3 etc..]

任何帮助将不胜感激.

解决方法:

all_events = [
    200.0, 420.0, 560.0, 1100.0, 1900.0, 2700.0, 3400.0, 3900.0, 4234.2, 4800.0]

def get_events_by_hour(all_events):
    return [
        len([x for x in all_events if int(x/3600.0) == hour]) 
        for hour in xrange(24)
    ]

print get_events_by_hour(all_events)

请注意,all_events应该包含一天的事件.

标签:pandas,scipy,resampling,python,downsampling
来源: https://codeday.me/bug/20191120/2046281.html