2016-12-07 12 views
0

경고 : NEWBIE차이점은 0.18에서 0.19 사이의 차이다.

나는 오늘 아침까지 판다 0.18에서 0.19로 업그레이드를 연기했다. 단지 deprication 경고를 제공하는 데 사용이 코드 :

import pandas.io.data as web 
x = web.DataReader('GE','yahoo',(2016, 10, 1), (2016, 11, 1)) 

지금은 오류을 던져 나에게 말한다 : builtins.ImportError는 "pandas.io.data 모듈은 별도의 패키지로 이동"판다. io.data 모듈이 별도의 패키지 (pandas-datareader)로 이동되었습니다. 팬더-DataReader를 패키지 (https://github.com/pandas-dev/pandas-datareader)을 설치 한 후 from pandas_datareader import data, wb에 가져 오기 from pandas.io import data, wb을 변경할 수 있습니다 "

을 그래서 난 내 재 작성"을에서 ... 수입 ... "줄을 :.

from pandas_datareader import data, wb 

x = wb.pandas-datareader('GE','yahoo',(2016, 10, 1), (2016, 11, 1)) 
: 나는이 코드를 시도 할 때

builtins.NameError: name 'web' is not defined 

: 예상대로 내가 코드를 실행하면, 에러가 발생합니다 6,

이 오류가 발생합니다 :

x = wb.Datareader('GE','yahoo',(2016, 10, 1), (2016, 11, 1)) 

이 오류가 발생합니다 :

builtins.AttributeError: module 'pandas_datareader.wb' has no attribute 'DataReader' 

사람이 어떻게 지금 DataReader를 호출하는 말씀 해주십시오 수

builtins.AttributeError: module 'pandas_datareader.wb' has no attribute 'pandas' 

내가이 코드를하려고 할 때 ? 미리 감사드립니다.

답변

1

팬더에서 데이터 리더를 사용하는 이전 방법을 처음 발생한 오류로 사용하지 마십시오. 따라서 절대 사용하지 마십시오 import pandas.io.data as web

새로운 패키지 pandas_datareader의 모듈에 액세스하는 올바른 방법은 작성한 것입니다.

from pandas_datareader import data, wb 

datawb 당신이 당신의 프로그램에 외부 데이터의 다른 유형에 가져다 호출 할 수있는 다양한 기능을 가진 모듈 (파이썬 파일)입니다. 각 모듈의 모든 기능을 보려면 dir 명령을 사용하십시오.

당신은 모든 공개적으로 사용 가능한 개체를 볼 수 있습니다

[attribute for attribute in dir(data) if attribute[0] != '_'] 

그래서

['DataReader', 
'EurostatReader', 
'FamaFrenchReader', 
'FredReader', 
'GoogleDailyReader', 
'OECDReader', 
'Options', 
'YahooActionReader', 
'YahooDailyReader', 
'YahooOptions', 
'YahooQuotesReader', 
'get_components_yahoo', 
'get_data_famafrench', 
'get_data_fred', 
'get_data_google', 
'get_data_yahoo', 
'get_data_yahoo_actions', 
'get_quote_google', 
'get_quote_yahoo', 
'warnings'] 

출력 어떤이 당신이 data 모듈의 . 후 사용할 수있는 모든 항목입니다.

wb 모듈과 동일한 dir 명령을 실행하면 DataReader이 해당 모듈에 없음을 알 수 있습니다. 모듈은 data 모듈의 위 목록에 있습니다.

마지막으로 올바르게 입력했는지 확인하십시오 DataReader에는 대문자 R이 있습니다. 이러한 오류가 발생하지 않도록 탭 완성을 사용하면 no attribute error이 표시됩니다. 원하는 기능이 dir 명령으로 출력되지 않으면 잘못된 모듈을 사용 중입니다.

DataReader도 문자열을 날짜로 허용하므로 다음과 같이하면 원하는 것을 얻을 수 있습니다.

data.DataReader('GE','yahoo', '2016-10-1', '2016-11-1') 
+0

감사합니다. 나는 두 가지 새로운 것을 배웠다! 당신의 솔루션은 완벽하게 작동했습니다! –