init commit: загрузка и предобработка данных
This commit is contained in:
+34
@@ -0,0 +1,34 @@
|
||||
import numpy as np
|
||||
|
||||
|
||||
def get_ranges(labels: np.ndarray) -> list[list[int, int, int]]:
|
||||
"""Преобразование сырых лейблов временного ряда в отрезки для визуализации
|
||||
|
||||
Args:
|
||||
labels (np.ndarray): лейблы
|
||||
|
||||
Returns:
|
||||
list[list[int, int, int]]: список отрезков для визуализации, каждый отрезок определен как
|
||||
тройка "начало", "конец", "тип действия"
|
||||
"""
|
||||
|
||||
actions = []
|
||||
__temp_action = [0]
|
||||
__prev_action = labels[0]
|
||||
idx = 1
|
||||
|
||||
while True:
|
||||
if idx + 1 > len(labels):
|
||||
__temp_action.extend([idx, __prev_action])
|
||||
actions.append(__temp_action)
|
||||
break
|
||||
|
||||
if labels[idx] != __prev_action:
|
||||
__temp_action.extend([idx - 1, __prev_action])
|
||||
actions.append(__temp_action)
|
||||
__temp_action = [idx]
|
||||
__prev_action = labels[idx]
|
||||
|
||||
idx += 1
|
||||
|
||||
return actions
|
||||
Reference in New Issue
Block a user