У меня есть массив, который представляет некоторые данные временных рядов:
array([[[-0.59776013],
[-0.59776013],
[-0.59776013],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[ 0.31863936],
[ 0.31863936],
[ 0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[ 0.59776013],
[ 0.59776013],
[ 0.59776013],
[ 0.93458929],
[ 0.93458929],
[ 0.93458929],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.06270678],
[-0.06270678],
[-0.06270678],
[-0.06270678],
[-0.06270678],
[-0.06270678],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[ 0.75541503],
[ 0.75541503],
[ 0.75541503],
[ 0.93458929],
[ 0.93458929],
[ 0.93458929],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[ 0.75541503],
[ 0.75541503],
[ 0.75541503],
[-0.31863936],
[-0.31863936],
[-0.31863936],
[ 0.31863936],
[ 0.31863936],
[ 0.31863936],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ],
[ 0. ]]])
Уникальные значения в этом массиве:
np.unique(sax_dataset_inv)
array([-0.59776013, -0.31863936, -0.06270678, 0. , 0.31863936,
0.59776013, 0.75541503, 0.93458929])
Моя задача
Назначьте либо «F» для быстрого, «S» для медленного или «M» для среднего значения данного массива.
Моя попытка
Iможет сделать это для 2 назначений, 'F' или 'S':
sax_list = ['F' if element < 0 else 'S' for element in list(sax_dataset_inv.flatten())]
Однако я не могу понять, как я могу сделать то же самое выражение выше для 3 различных меток.
Требуемый вывод
Возьмите пример массива [-3-2-1,0,1,2,3,4,5,6]
Значения от -3 до -1 включительно должен быть присвоен «F».Значения от 0 до 3 включительно должны быть присвоены «М».Значениям больше 3 следует присвоить 'S'.