2017-02-09 3 views
1

검색 시간을 소비 한 후에도 다중 인덱스 데이터 프레임에서 새로운 데이터 프레임으로 일부 데이터를 추출 할 수 없습니다. 만약 내가 완전히 정직하다면이 전체 멀티 인 덱스를 이해하는 데 큰 어려움이 있습니다./Pandas MultiIndex 데이터 프레임에서 데이터 추출

데이터는 웹으로 pandas_datareader.data를 사용하여 OECD 출신입니다.

특정 기간에 특정 국가의 특정 데이터를받는 방법을 검색하고 있습니다.

누군가 나를 도울 수 있습니까?

import pandas_datareader.data as web 
import pandas as pd 

podatki = web.DataReader('MEI_CLI', data_source='oecd') 

df = pd.DataFrame(podatki) 

#Below is the data that I'm searching. 
#does not work!!! 

df = df.xs('Original, seasonally adjusted (GDP)','Slovenia','Annual') 
print(df) 

정말로 감사합니다.

안부, 데이비드

+0

내가 몇 가지 데이터를 얻을 관리 :'DF = df.xs ('Amplitude adjusted (CLI)', 'United States', 'Monthly'), level = [ 'Subject', 'Country', 'Frequency'], axis = 1)'그러나'print df.head())'1994 년까지만 데이터를 얻습니다. 단서가 있습니까? – DavidV

답변

1

당신이 필요합니다

podatki = web.DataReader('MEI_CLI', data_source='oecd') 
print (podatki) 

df = podatki.xs(('Original, seasonally adjusted (GDP)', 'Slovenia', 'Annual'), 
       level=('Subject', 'Country','Frequency'), axis=1) 

print(df) 
Subject Original, seasonally adjusted (GDP) 
Country        Slovenia 
Frequency        Annual 
Time           
1990          NaN 
1991          NaN 
1992          NaN 
1993          NaN 
1994          NaN 
1995          NaN 
1996          NaN 
1997          NaN 
1998          NaN 
1999          NaN 
2000          NaN 
2001          NaN 
2002          NaN 
... 
... 

그러나 불행하게도 데이터가 없습니다 : 내가 사용하는 경우

print(df.dropna()) 
Empty DataFrame 
Columns: [(Original, seasonally adjusted (GDP), Slovenia, Annual)] 
Index: [] 
+0

흠'print (podatki)'를 체크하면'NaN'이 많아서'OECD'에는 데이터가 없으므로'NaN'을 리턴합니다. 가능하면 다른 방법으로 점검 할 수 있습니까? – jezrael

+0

감사합니다. 당신이 실제로 나를 도왔습니다. 모든 NaN을 제거하면 검색 대상을 얻었습니다. – DavidV

관련 문제