2013-12-15 1 views
0

1 분 재고 데이터가있는 판다 데이터 프레임이 있습니다.종가가 팬더 데이터 프레임에서 5 분 높이인지 확인하십시오.

     Close 
2013-09-23 09:30:00  NaN 
2013-09-23 09:31:00 8.2500 
2013-09-23 09:32:00 8.2500 
2013-09-23 09:33:00 8.2800 
2013-09-23 09:34:00 8.2725 
2013-09-23 09:35:00 8.2850 
2013-09-23 09:36:00 8.2700 
2013-09-23 09:37:00 8.2827 
2013-09-23 09:38:00 8.3100 
2013-09-23 09:39:00 8.3200 

나는 주어진 가까운 높은 5 분 인 경우 TRUE를 반환하는 함수를 만들려고

뭔가 같은 (의사 코드) :

stockdata["close"].apply(lambda x: x == max of last 5 rows) 

이 작업을 수행 할 방법 ?

+2

가까운 항목은 무엇입니까? 어떻게 정의합니까? – furins

+0

오른쪽 열 마감 가격은 – 2083

+0

목록의 끝으로 이동하십시오. 목록에 다섯 개 이상의 항목이있는 경우 첫 번째 항목을 팝합니다. 어떻게 넥타이를 다루고 싶니? – tripleee

답변

3

당신의 열 값이 rolling_max 기능 (http://pandas.pydata.org/pandas-docs/stable/computation.html#moving-rolling-statistics-moments)로 결정되는 마지막 다섯 행의 최대 같을 때 확인할 수 있습니다 : 당신이 확실하지 않은 경우 데이터가 (너무 잘 1 minutly 항상

>>> stockdata["Close"] == pd.rolling_max(stockdata["Close"], 5) 
2013-09-23 09:30:00 False 
2013-09-23 09:31:00 False 
2013-09-23 09:32:00 False 
2013-09-23 09:33:00 False 
2013-09-23 09:34:00 False 
2013-09-23 09:35:00  True 
2013-09-23 09:36:00 False 
2013-09-23 09:37:00 False 
2013-09-23 09:38:00  True 
2013-09-23 09:39:00  True 
dtype: bool 

을 5 행이 항상 5 분이 아닐 경우) rolling_max에서 freq 키워드를 1min으로 설정할 수 있습니다.

관련 문제