调用 yahoo finance 从 0.18 到 0.19 之间的差异
difference between calling yahoo finance from 0.18 to 0.19
警告:新手
我推迟了从 pandas 0.18 到 0.19 的升级,直到今天早上。这段代码过去只是给出了一个 deprication 警告:
import pandas.io.data as web
x = web.DataReader('GE','yahoo',(2016, 10, 1), (2016, 11, 1))
现在它抛出一个错误并告诉我:"The pandas.io.data module is moved to a separate package " builtins.ImportError:pandas.io.data模块被移动到一个单独的包(pandas-数据读取器)。安装 pandas-datareader 包 (https://github.com/pandas-dev/pandas-datareader) 后,您可以将导入 from pandas.io import data, wb
更改为 from pandas_datareader import data, wb
."
所以,我将 "from...import..." 行重写为:
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'
谁能告诉我现在如何调用数据读取器?
提前致谢
在pandas中使用数据reader的旧方法不应作为您遇到的第一个错误。所以永远不要使用 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
模块中的 .
之后使用的所有项目。
如果您对 wb
模块使用 运行 相同的 dir
命令,您将看到该模块中不存在 DataReader
。它存在于 data
模块的上述列表中。
最后,确保你的函数拼写正确 DataReader
有大写字母 R。使用制表符完成来避免这些错误,否则你会得到 no attribute error
。如果 dir
命令没有输出您想要的功能,那么您使用了错误的模块。
DataReader
也接受字符串作为日期,因此以下内容将为您提供所需内容。
data.DataReader('GE','yahoo', '2016-10-1', '2016-11-1')
警告:新手
我推迟了从 pandas 0.18 到 0.19 的升级,直到今天早上。这段代码过去只是给出了一个 deprication 警告:
import pandas.io.data as web
x = web.DataReader('GE','yahoo',(2016, 10, 1), (2016, 11, 1))
现在它抛出一个错误并告诉我:"The pandas.io.data module is moved to a separate package " builtins.ImportError:pandas.io.data模块被移动到一个单独的包(pandas-数据读取器)。安装 pandas-datareader 包 (https://github.com/pandas-dev/pandas-datareader) 后,您可以将导入 from pandas.io import data, wb
更改为 from pandas_datareader import data, wb
."
所以,我将 "from...import..." 行重写为:
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'
谁能告诉我现在如何调用数据读取器? 提前致谢
在pandas中使用数据reader的旧方法不应作为您遇到的第一个错误。所以永远不要使用 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
模块中的 .
之后使用的所有项目。
如果您对 wb
模块使用 运行 相同的 dir
命令,您将看到该模块中不存在 DataReader
。它存在于 data
模块的上述列表中。
最后,确保你的函数拼写正确 DataReader
有大写字母 R。使用制表符完成来避免这些错误,否则你会得到 no attribute error
。如果 dir
命令没有输出您想要的功能,那么您使用了错误的模块。
DataReader
也接受字符串作为日期,因此以下内容将为您提供所需内容。
data.DataReader('GE','yahoo', '2016-10-1', '2016-11-1')