Python / DataReader / Yahoo - 不推荐使用 pandas 的面板,我怎样才能将股票数据带入多索引数据帧?

Posted

技术标签:

【中文标题】Python / DataReader / Yahoo - 不推荐使用 pandas 的面板,我怎样才能将股票数据带入多索引数据帧?【英文标题】:Python / DataReader / Yahoo - with pandas' Panel deprecated, how can I instead bring stock data into multiindexed dataframes? 【发布时间】:2017-05-16 15:01:05 【问题描述】:

访问 Yahoo Finance 股票数据的 pandas 数据阅读器工具似乎将数据直接提取到 panel - 我认为它将很快从 pandas 中删除。有谁知道如何将数据拉入multiindexed dataframe 来代替面板?

import pandas_datareader as data
stock_data = data.DataReader(['AAPL','GE'], 'yahoo', datetime(2017,1,1), datetime.now())

In [121]: stock_data

Out [121]: 
    <class 'pandas.core.panel.Panel'>
    Dimensions: 6 (items) x 91 (major_axis) x 2 (minor_axis)
    Items axis: Open to Adj Close
    Major_axis axis: 2017-01-03 00:00:00 to 2017-05-12 00:00:00
    Minor_axis axis: AAPL to GE

非常感谢!

【问题讨论】:

【参考方案1】:

我觉得你需要Panel.to_frame:

df = stock_data.to_frame()

如果需要在索引和列中交换 MultiIndexes,函数 Panel.transpose 也会很有帮助。

【讨论】:

嗨,天哪 - 我担心一旦面板完全从熊猫中删除,panel.to_frame() 将无法工作。 是的,我同意。但是在未来 pandas_datareader 的开发人员将函数更改为返回 MultiIndex 或 xarray link。但是现在如果函数返回面板需要转换它。 另外there 是它的公开问题。

以上是关于Python / DataReader / Yahoo - 不推荐使用 pandas 的面板,我怎样才能将股票数据带入多索引数据帧?的主要内容,如果未能解决你的问题,请参考以下文章

Python DataReader - 更新新信息

通过python中的yahoo和pandas_datareader获取来自不同市场的市场数据

Python / DataReader / Yahoo - 不推荐使用 pandas 的面板,我怎样才能将股票数据带入多索引数据帧?

Python pandas datareader 不再适用于 yahoo-finance 更改的 url

Yahoo Finance API / URL 不起作用:Pandas DataReader 的 Python 修复

Error:cannot import name'is_list_like' --python使用pandas_datareader时出现错误,解决方案