gpt4 book ai didi

python - 接收 pandas DataFrame 中列的 NaN

转载 作者:行者123 更新时间:2023-12-01 04:31:45 24 4
gpt4 key购买 nike

这是 O'Reilly 书中的一段代码(练习)Python for Data Analysis .

from pandas import Series, DataFrame
import pandas.io.data as web

all_data = {}
for ticker in ['AAPL', 'IBM', 'MSFT', 'GOOG']:
all_data[ticker] = web.get_data_yahoo(ticker)

price = DataFrame({k: v['Adj Close'] for k,v in all_data.items()})

奇怪的是,当我查看生成的 DataFrame 时,Google 的内容始终为 NaN:

DataFrame

我知道代码并不是您所说的最佳代码,但这些是书本练习,我正在尝试通过实验从中学习。

如果我只获取与 Google 相关的数据并从中制作一个 DataFrame,则会显示实际数字:

DataFrame(all_data['GOOG']['Adj Close']).head()

Google DataFrame

但是当我尝试对所有股票代码执行相同的操作时,它再次出错:

DataFrame([all_data['GOOG']['Adj Close'],
all_data['AAPL']['Adj Close'],
all_data['IBM']['Adj Close'],
all_data['MSFT']['Adj Close']],
index=['GOOG', 'AAPL', 'IBM', 'MSFT']).T.head()

DataFrame all tickers

任何有关可能导致此问题的原因的见解将不胜感激!

版本信息:

  • Python 3.4.2
  • Pandas (0.16.2)
  • numpy(1.9.2)

最佳答案

Google 目前有两类公开交易的股票,C 类股票(“GOOG”)于 2014 年发行,原来的 A 股以“GOOGL”交易。文章here更多信息。

因此,要获得所有 4 个事件的完整历史记录,只需更改股票代码即可。这也是一个很好的例子,说明了数据“丢失”的含义。如果您想过滤到原始 4 个代码的共同日期,您可以执行 price = Price.dropna()

关于python - 接收 pandas DataFrame 中列的 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32296958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com