2014-11-24 2 views
3

임의의 이벤트를 1 시간 간격으로 재 샘플링하기 위해 pandas.DataFrame.resample을 사용하고 있습니다. 간격을 2 또는 4 시간으로 늘리면 사라지지 않는 매우 확률적인 결과가 나타납니다. 그것은 팬더가 평활화를 제어하기 위해 조절 가능한 대역폭을 가진 가우스 커널 밀도 방법과 같은 평활 밀도 커널을 생성하는 어떤 유형의 방법을 가지고 있는지 궁금하게 만듭니다. 문서에서 아무 것도 볼 수 없지만 개발자 목록 서버에 게시하기 전에 여기에 게시 할 것이므로 자신의 선호 사항이라고 생각합니다. Scikit-Learn는 precisely the Gaussian kernel density function that I want입니다. 그래서 그것을 사용하려고 시도하지만 팬더에게는 환상적인 추가 기능이 될 것입니다.pandas.DataFrame.resample의 가우시안 커널 밀도 평활화?

도움을 주시면 대단히 감사하겠습니다.

hourly[0][344:468].plot() 

enter image description here

답변

2

지금은이 옵션을 pandas.stats.moments.ewma로 제공되며 그것은 아주 잘 작동 것으로 나타났습니다. 여기서 결과는 다음과 같습니다

from pandas.stats.moments import ewma 

hourly[0][344:468].plot(style='b') 
ewma(hourly[0][344:468], span=35).plot(style='k') 

enter image description here

+2

지수 가중 이동 평균은 실시간 (이전 버전과-보고) 필터, 그리고 상상의 시간입니다 (가우시안 커널과 동일하지 않습니다 : 가우스 스무딩을 수행하려면 앞뒤로 보입니다). – kb0

3

팬더가 롤 창을 통해 집계를 적용 할 수있는 능력을 가지고 있습니다. win_type 매개 변수는 창의 모양을 제어합니다. center 매개 변수는 레이블이 오른쪽 가장자리 대신 창 중앙에 설정되도록 설정할 수 있습니다.

hrly = pd.Series(hourly[0][344:468]) 
smooth = hrly.rolling(window=5, win_type='gaussian', center=True).mean(std=0.5) 

http://pandas.pydata.org/pandas-docs/stable/computation.html#rolling

관련 문제