1 |
def select_data( x, y, t, t_start, delta_t ): |
2 |
""" делает выборку из данных такую, что: |
3 |
* ! данные отсортированы по времени |
4 |
* delta_t число минут. |
5 |
* в выборку попадают |
6 |
* t_point <= t < t_point + delta""" |
7 |
t_end = t_start + timedelta ( minutes = delta_t ) |
8 |
i_start = 0 |
9 |
i_end = len ( x ) |
10 |
# print( f" select_data { t_start= } { t_end= } { delta_t= } " ) |
11 |
ret_x = |
12 |
ret_y = |
13 |
ret_t = |
14 |
# вычисляем индекс начала выборки |
15 |
# если такого индекса нет, то сразу |
16 |
# возвращаем пустой результат |
17 |
while t i_start < t_start : |
18 |
i_start += 1 |
19 |
if i_start >= i_end: |
20 |
return ret_x, ret_y, ret_t |
21 |
# заполняем результат |
22 |
for i in range ( i_start, i_end ) : |
23 |
if t i < t_end : |
24 |
ret_x.append ( x i ) |
25 |
ret_y.append (y i ) |
26 |
ret_t.append ( t i ) |
27 |
else : |
28 |
break |
29 |
return ret_x, ret_y, ret_t, t_end |
Комментарии