我的数据集如下所示:
for i, k in len(data):
breaks = []
if data[k] - data[i] <= time_interval:
k += 1
breaks[k] = i
现在我想计算某些时间间隔的某些数字,即在指定的时间间隔(1分钟)内计算某些变量的均值/焦度。所以我的问题是:如何通过两者之间的时差将数据分成批次/组?
例如,如果指定的时间间隔是30秒,那么我将检查time1,然后一直到time-time1&gt; = 30s的点。时间1和此点之间的所有障碍将在一组中进行进一步计算。
[(group1_begin, group1_end, calculations ...),
(group2_begin, group2_end, calculations ...)...]
正如伪代码如上所示,我很难弄清楚如何以一种我可以找到每个组的起点和终点的方式指向索引。现在,我可以从识别第一组开始,但在那之后,我不知道如何增加索引以移动到下一组的开头。
输出应包括每个组的开始时间和结束时间,以及基于组级数据的其他一些计算。如下所示:
int inputInteger = 478523698;
int numberSample = inputInteger;
int lowest = int.MaxValue, secondlowest = int.MaxValue;
while (numberSample != 0)
{
int digit = numberSample % 10;
numberSample = numberSample / 10;
if (digit < secondlowest && digit!=lowest)
{
secondlowest = digit;
}
if (secondlowest < lowest)
{
int temp = secondlowest;
secondlowest = lowest;
lowest = temp;
}
}
if (secondlowest == int.MaxValue)
{
Console.WriteLine("There is no second lowest number");
}
else
{
Console.WriteLine("Lowest digit in {0} is {1} and second lowest digit is {2}", inputInteger,lowest,secondlowest);
}
我想添加一个新的矢量作为组号来实现这一点,但是无法弄清楚如何,而且我觉得它不是解决这个问题的充分方法。我想知道这是否可以通过迭代实现。
感谢。