2017-03-16 2 views
1

나는 축으로 ['volume'], ['30_Avg_Vol'] and ['20_Avg_Vol']이있는 패널 stocks얻기 팬더 패널 부울 색인에 오류

stocks.Volume 
        AAPL  OPK 
Date        
010-01-11 115557365.0 130195.0 
2010-01-12 148614774.0 121245.0 
2010-01-13 151472335.0 47897.0 
2010-01-14 108288411.0 126539.0 
2010-01-15 148584065.0 175261.0 
2010-01-19 182501620.0 123318.0 
2010-01-20 153037892.0 100803.0 
2010-01-21 152038565.0 262285.0 
2010-01-22 220441872.0 114525.0 


stocks['30_Avg_Vol'] 
Date    AAPL   OPK 
2010-01-21   NaN   NaN 
2010-01-22   NaN   NaN 
2010-01-25 1.526774e+08 1.607402e+05 
2010-01-26 1.723086e+08 1.592968e+05 
2010-01-27 1.875047e+08 1.554605e+05 
2010-01-28 1.933864e+08 1.540021e+05 
2010-01-29 1.996023e+08 1.549712e+05 
2010-02-01 1.989956e+08 1.532240e+05 

stocks['20_Avg_Vol'] 
        AAPL   OPK 
Date       
2010-01-12   NaN   NaN 
2010-01-13   NaN   NaN 
2010-01-14   NaN   NaN 
2010-01-15 1.315716e+08 1.718937e+05 
2010-01-19 1.362016e+08 1.674777e+05 
2010-01-20 1.376046e+08 1.619215e+05 
2010-01-21 1.387149e+08 1.696418e+05 
2010-01-22 1.445526e+08 1.657049e+05 
2010-01-25 1.526774e+08 1.607402e+05 
2010-01-26 1.723086e+08 1.592968e+05 
2010-01-27 1.875047e+08 1.554605e+05 

내가 어디 다음과 같은 방법

stocks[(stocks['Volume']> (1.5 * stocks['30_Avg_Vol']))|(stocks['Volume']> (1.5* stocks['20_Avg_Vol']))] 

에 패널을 슬라이스하기 위해 노력하고있어의 볼륨은 30 일 평균 볼륨 또는 20 일 평균 볼륨의 1.5 배보다 큽니다.

그러나 나는 다음과 같은 오류 받고 있어요 :

raise ValueError('Cannot index with multidimensional key') 
ValueError: Cannot index with multidimensional key 

이 주변에 어떤 방법을?

감사합니다.

답변

1

귀하는 MultiIndex입니다. MultiIndex에 색인을 생성하려면 키를 쌍으로 (또는 세 쌍으로) 지정해야합니다.

이 주위에 얻을 수있는 가장 쉬운 방법은 단일 색인을 재설정하는 것입니다 그래서

:

stocks[(stocks['Volume']> (1.5 * stocks['30_Avg_Vol']))|(stocks['Volume']> (1.5* stocks['20_Avg_Vol']))] 

가되다 : 답장을

_stocks = stocks.reset_index() 

_stocks[(_stocks['Volume']> (1.5 * _stocks['30_Avg_Vol']))|(_stocks['Volume']> (1.5* _stocks['20_Avg_Vol']))] 
+0

감사합니다. 아직 코드를 테스트 할 수는 없지만 일단 코드를 작성하면 답장을 보내 게됩니다. =) – Moondra

+0

그래서이 코드를 실행하면 : _stocks = stocks.reset_index()'다음과 같은 오류가 발생합니다 :'AttributeError : 'Panel'객체에 'reset_index'속성이 없습니다. 주식 앞면의 밑줄은 정확히 무엇입니까? 그거야? 감사. – Moondra

+1

아, 패널을 사용하고 있습니다. 미안 해요, 요약에서 그걸 놓쳤습니다. 이것이 효과가 없다면'pandas'에서'Panel '객체가 사용되지 않고 IIRC가 다음 주 버전 ('0.20 .0'). 대신''xarray' (http://xarray.pydata.org/en/stable/)를 사용하십시오.이 패키지는'pandas.Panel'을 대체하도록 설계되었습니다. 참조 http://xarray.pydata.org/en/stable/indexing.html. 이것은 불행히도 귀하의 질문에 대한 답변을 직접하지 않습니다 ... –