Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 不同日子的时间变化较小_Algorithm_Combinations_Permutation_Pseudocode - Fatal编程技术网

Algorithm 不同日子的时间变化较小

Algorithm 不同日子的时间变化较小,algorithm,combinations,permutation,pseudocode,Algorithm,Combinations,Permutation,Pseudocode,我正在研究一种算法,可以选择一组具有特定特征的日期/时间对象,但没有成功 要使用的数据位于日期/时间对象列表中, e、 g: l天[i][j],i你可以总是求助于将时间计算到一个列表中,然后估计差异,并将低于该限制的对象分组。所有这些都打包到一个字典中,以差值作为值,时间戳作为键。如果这不完全是你所需要的,我很确定从中选择你所需要的结果应该很容易 import numpy import datetime times_list = [object1.time(), object2(), ...,

我正在研究一种算法,可以选择一组具有特定特征的日期/时间对象,但没有成功

要使用的数据位于日期/时间对象列表中, e、 g:


l天[i][j],i你可以总是求助于将时间计算到一个列表中,然后估计差异,并将低于该限制的对象分组。所有这些都打包到一个字典中,以差值作为值,时间戳作为键。如果这不完全是你所需要的,我很确定从中选择你所需要的结果应该很容易

import numpy
import datetime
times_list = [object1.time(), object2(), ..., objectN()]
limit = 5 # limit of five seconds
groups = {}
for time in times_list:
    delta_times = numpy.asarray([(tt-time).total_seconds() for tt in times_list])
    whr = numpy.where(abs(delta_times) < limit)[0]
    similar = [str(times_list[ii]) for ii in whr]
    if len(similar) > 1:
        similar.sort()
        max_time = numpy.max(delta_times[whr])   # max? median? mean?
        groups[tuple(similar)] = max_time
生成直方图:

hours = [0] * 24
for object in objects:                # whatever your objects are
    # assuming object.date_time looks like '2013-07-18 10:55:00'
    hour = object.date_time[11:13]    # assuming the hour is in positions 11-12
    hours[int(hour)] += 1

for hour in xrange(24):
    print '%02d: %d' % (hour, hours[hour])

这段代码只是将字符串解析为datetime对象吗?这不是我想要的:/在写答案时,我认为没有提到它们已经是datetime.datetime对象。我不知道我是否应该删除这个答案,就目前而言。我已经完成了一种计算过程发生时间的方法。但是你的问题太大了,你怎么决定频率是1天?什么限制?你的要求是什么?每天都在限定范围内出现?极限是什么?你指的是极限=5?我的意思是你可能想考虑12:10:00和12:10:04是你实验中的同一个小时…但也许12:00:20不应该在同一组。但是你的问题是这样表述的,老实说,我不知道如何解决它。所以你会这样看:将所有有零秒差异的图像分组,然后将所有有一秒差异的图像分组,然后继续这样处理所有可能的差异,是吗?1你的代码的结果是什么?2我不知道小时的位置在哪里,我怎么能假设呢?结果是一个0-23小时的列表,以及每个小时内落下的对象的数量。如果您的对象具有实际的DATE时间值,则使用Health= Objut.DATEYTIME.HUL1,您为什么只考虑“小时”字段?我认为时间很重要!2是不是每小时都考虑到了不同的日子?因为你的注释:我想观察一个现象是否在不同的日子的同一时间发生。我认为这个问题需要更多的解释。请给出一个具体的示例,说明您希望看到的内容。向我们展示您用于生成此内容的代码,以及您希望更改的内容。显然,您已经做出了一个简洁的决定:13:00、13:00和13:05组成一个组,因为它们足够接近。这是你的限额吗?五秒钟?还是另一个?因为你没有把12:00加到那个组,所以不是一小时。我的限制是0秒。最低限度。
hours = [0] * 24
for object in objects:                # whatever your objects are
    # assuming object.date_time looks like '2013-07-18 10:55:00'
    hour = object.date_time[11:13]    # assuming the hour is in positions 11-12
    hours[int(hour)] += 1

for hour in xrange(24):
    print '%02d: %d' % (hour, hours[hour])