2016-12-07 1 views
0

ПРЕДУПРЕЖДЕНИЯ: NewBieразница между вызывающими финансами Yahoo от 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)) 

теперь выдает ошибку и говорит мне: «Модуль pandas.io.data перемещается в отдельный пакет» builtins.ImportError: панды. Модуль io.data перемещается в отдельный пакет (pandas-datareader). После установки пакета панды-DataReader (https://github.com/pandas-dev/pandas-datareader), вы можете изменить импорт from pandas.io import data, wb в from pandas_datareader import data, wb «

так, я переписать мою "от ... импорт ..." строку:.

from pandas_datareader import data, wb 

как и следовало ожидать, когда я запускаю код, он выдает ошибку:

builtins.NameError: name 'web' is not defined 

когда я пытаюсь этот код:

x = wb.pandas-datareader('GE','yahoo',(2016, 10, 1), (2016, 11, 1)) 

эта ошибка возникает:

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

когда я пытаюсь этот код:

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

Эта ошибка возникает:

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

может кто-нибудь пожалуйста, скажите мне, как позвонить в DataReader прямо сейчас ? заранее

ответ

1

Старый метод использования устройства чтения данных в пандах не должен использоваться в качестве первой ошибки, с которой вы столкнулись. Поэтому никогда не используйте import pandas.io.data as web

Правильный способ доступа к модулю нового пакета pandas_datareader - это то, что вы написали.

from pandas_datareader import data, wb 

data и wb модули (файлы Python) с большим количеством различных функций, которые вы можете позвонить, чтобы принести в различных типах внешних данных в программу. Для просмотра всех функций каждого модуля используйте команду 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 модулы.

Если вы запустите ту же команду dir с модулем wb, вы увидите, что DataReader не существует в этом модуле. Он существует в приведенном выше списке в модуле data.

Наконец, убедитесь, что вы правильно указали свою функцию. DataReader имеет верхний регистр R. Используйте вкладку, чтобы избежать этих ошибок, или вы получите no attribute error. Если функция, которую вы хотите, не выводится с помощью команды dir, вы используете неправильный модуль.

DataReader также принимает строки в качестве дат, чтобы следующее получило то, что вы хотите.

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

ted, большое спасибо за тщательный отклик. я узнал две новые вещи! ваше решение отлично работало! –

Смежные вопросы