0
저는 고속 푸리에 변환 신호를위한 DataFrame을 가지고 있습니다.롤 표준 편차를 사용하여 팬더 데이터 프레임에서 이상치를 검출합니다.
주파수가 Hz 인 열과 해당 진폭이 다른 열이 있습니다.
몇 가지 표준 편차보다 높거나 낮은 최종 데이터 프레임의 예외 값을 제외하거나 제외하기 위해 간단한 부울 함수를 사용할 수있는 몇 년 전에 작성된 게시물을 읽었습니다.
df = pd.DataFrame({'Data':np.random.normal(size=200)}) # example dataset of normally distributed data.
df[~(np.abs(df.Data-df.Data.mean())>(3*df.Data.std()))] # or if you prefer the other way around
문제는 신호가 50,000Hz까지 주파수가 증가함에 따라 몇 가지 크기 (최대 10,000 배 더 작음)가 떨어지는 것입니다. 따라서 첫 번째 50Hz에서 "봉우리"이상 값만 가져 오므로 3 표준 편차 이상의 값만 내보내는 함수는 사용할 수 없습니다.
롤링 평균의 3 표준 편차를 초과하는 이상치를 내 데이터 프레임에서 내보낼 수있는 방법이 있습니까?
그래서 내 데이터 프레임의 다른 열에 필터링하기 전에 (내 평균 + 3SD보다 큰) 모든 값을 추가하려고합니다. N1 [ 'Peaks'] = (N1 [ 'Cell 1-1']> N1 [ 'Filter'])'숫자를 얻는 방법이 있습니까? Cell 1-1 및 Filter 열은 데이터 및 필터 값입니다. – Jack