Сложность сглаживания двоичного сигнала в PythonPython

Программы на Python
Anonymous
Сложность сглаживания двоичного сигнала в Python

Сообщение Anonymous »


У меня есть двоичный сигнал, который я хочу сгладить в Python следующим образом:

Предположим, у меня есть 1,1,1,1,0,1,0,0,0, я ожидаю 1,1,1,1,1,1,0,0,0.

Я попробовал это:

def Smooth_binary_signal(label_series, window_size=5): Smoothed_result = label_series.rolling(window=window_size, center=True, min_ periods=1).apply(lambda x: pd.Series(x).mode().iloc[0], raw=True) вернуть сглаженный_результат который, к сожалению, возвращает 1,1,1,1,1,0,0,0,0, а это не то, что я ожидал.

Есть идеи? Я боролся с этим часами... Обратите внимание, что сглаживание должно применяться к последовательностям нулей, то есть 0,0,0,1,0,0,0,0 также должно быть сглажено.

Кроме того, сглаживание должно быть «надежным» в том смысле, что выходные данные для 1,1,1,1,0,0,1,1,1,1,0,0,0,0,0, 0 должно быть 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0.

Он также должен должным образом обрабатывать крайние точки вектора.

Заранее спасибо за помощь!

Вернуться в «Python»