1
내가 이렇게 신호가 있다고 가정 해 봅시다. 이미 피팅 라운드를 거쳤습니다. 이제 신호를 더 쉽게 관리 할 수 있습니다.시계열에서 비슷한 신호 결합하기
하지만 어떤 이유로 든 제거 할 수없는 몇 가지 차이가 있습니다.
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
a = [0.5]*20
b = [0.4]*20
c = [0.503]*20
d = [0.4]*20
signal = pd.Series(np.concatenate([a,b,c,d]))
plt.figure(figsize = (7,3))
plt.plot(signal, color = "firebrick")
plt.axhline(0.5, linestyle = ":")
plt.show()
# Identify the four different intensities, so they can be grouped
id = signal.transform(lambda x: (abs(x.diff()) > 0).cumsum())
나는 해결책을 생각하고있어 높은 [0.4, 0.4, 0.5, 0.503]
낮은에서 모든 신호를 줄 그리고 예를 들어, 작은 차이를 무시하고 다음, 그들을 통해 갈 수 0.010
, 그래서
id = signal.transform(lambda x: (abs(x.diff()) > 0.010).cumsum())
어떻게하면됩니까?
당신이 무엇을 요구 분명하지 않다. 귀하의 질문은 무엇인가? 원하는 출력은 무엇입니까? – pault
@pault 본질적으로 나는 0.503과 0.5의 평균이 원래의 데이터와 같은 인덱스에서 같은 값 (평균값, 중앙값, 최소값, 중요하지 않음)에 정렬되도록 피팅의 오버 슈팅을 수정하고 싶습니다. . 말이 돼? –
시리즈를 thresholding하는 것은 어떻습니까? 예를 들어 평균에 의한 임계 값과 평균보다 크고 평균보다 작은 값에 대한 중앙값 계산 : 'med_high = signal [signal> signal.mean()]. median()'및 'med_low = signal [signal
pault