2016-12-07 1 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)に移動されます。 。

from pandas_datareader import data, wb 

:パンダ-DataReaderのパッケージ(https://github.com/pandas-dev/pandas-datareader)をインストールした後、あなたはfrom pandas_datareader import data, wbにインポートfrom pandas.io import data, wbを変更することができますするから...インポート... "ライン」

をので、私は私を書き換えます"

x = wb.pandas-datareader('GE','yahoo',(2016, 10, 1), (2016, 11, 1)) 
:私はこのコードをしようとすると、

builtins.NameError: name 'web' is not defined 

:予想通り、私は、コードを実行すると、それはエラーをスローします

このエラーがスローされます。

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

pandasでデータリーダーを使用する古い方法は、最初に発生したエラーとして使用しないでください。だから絶対に使用しないでくださいimport pandas.io.data as web

新しいパッケージpandas_datareaderのモジュールにアクセスする正しい方法は、あなたが書いたものです。

from pandas_datareader import data, wb 

datawbはあなたのプログラムに外部データの異なる種類にもたらすために呼び出すことができ、多くの異なる機能を持つモジュール(Pythonのファイル)です。各モジュールのすべての機能を表示するには、dirコマンドを使用します。あなたが持つすべての公に利用可能なオブジェクトを参照することができます

:だから

['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'] 

を出力

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

を、これらはあなたがdataモジュールに.後に使用することができ、すべてのアイテムです。

wbモジュールで同じdirコマンドを実行すると、そのモジュールにDataReaderが存在しないことがわかります。それはdataモジュールの上のリストにあります。

最後に、正しく機能が綴られていることを確認してください。DataReaderには大文字のRが付いています。これらの間違いを避けるためには、タブの補完を使用すると、no attribute errorが表示されます。 dirコマンドで必要な機能が出力されない場合は、間違ったモジュールを使用しています。

DataReaderも日付として文字列を受け入れるので、次のようにすれば必要なものが得られます。

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

ted、徹底的な対応に感謝します。私は2つの新しいことを学んだ!あなたのソリューションは完璧に機能しました! –

関連する問題