【发布时间】:2023-03-14 09:50:01
【问题描述】:
我正在尝试使用 Yahoo Finance API 将数据读入 DataFrame。但是,当我从列表中读取符号的值时,它们最终会出现在 DataTable 的单个列中。我使用 API 是因为我实际上想要诸如股息、市盈率之类的数据,而且我认为您无法使用 datareader 访问这些数据。我有两个问题:
- 如何从列表中获取值以映射到 DataFrame 中的列 (而不是行)
-
我将如何完成我想要为股票代码列表做的事情
import urllib2 from pandas import DataFrame def get_data2(symbol): columns = ['last','date','change','high','low','vol'] url = "http://download.finance.yahoo.com/d/quotes.csv?s=%s&f=sl1d1c1hgv" % symbol file =urllib2.urlopen(url) s = file.read() file.close() s= s.strip() L = s.split(',') L[0] = L[0].replace('"','') L[2] = L[2].replace('"','') D = DataFrame(L, columns=columns) return D
使用此代码,我得到一个 ValueError,因为形状不匹配,但本质上我想将列表中的每个值读入 DataTable 中的一列,并最终遍历符号列表。
感谢您的帮助
【问题讨论】:
-
为什么不想使用专为此设计的
pandas_datareader? -
我认为您只能从 datareader 获取价格和数量数据。我找不到用于收集其他统计信息的文档。
-
here 是自定义统计的示例
-
很棒的麦克斯,谢谢。我只是想知道哪里有一些全面的文档。
标签: python-2.7 api pandas dataframe yahoo-finance