【发布时间】:2015-01-29 18:32:16
【问题描述】:
我是使用 python 编写代码的初学者。
我使用 Pandas 和他的 DataReader 编写了这个简单的脚本来从 yahoo Finance 检索多个股票结果:
import pandas as pd
from pandas.io.data import DataReader
from pandas import DataFrame
symbols_list = ['AAPL', 'TSLA', 'YHOO','GOOG', 'MSFT','GILD']
for ticker in symbols_list:
r = DataReader(ticker, "yahoo", '2015-01-20')
cell= r[['Open','High','Low','Adj Close','Volume']]
print cell
使用此代码,我获得价格股票的日期+我在“cell= r[[....”中指定的其他列,如下所示:
Open High Low Adj Close Volume
Date
2015-01-20 107.84 108.97 106.50 108.72 49899900
2015-01-21 108.95 111.06 108.27 109.55 48575900
2015-01-22 110.26 112.47 109.72 112.40 53796400
2015-01-23 112.30 113.75 111.53 112.98 46464800
2015-01-26 113.74 114.36 112.80 113.10 55375900
Open High Low Adj Close Volume
Date
2015-01-20 193.87 194.12 187.04 191.93 4489400
2015-01-21 189.55 198.68 189.51 196.57 4144000
2015-01-22 197.00 203.24 195.20 201.62 4094100
2015-01-23 200.29 203.50 198.33 201.29 3438600
2015-01-26 201.83 208.62 201.05 206.55 3224500
我的问题是:如何在列中包含我在 symbol_list 中指定的代码? 最后一件事:我怎样才能颠倒日期的顺序?我希望它首先显示最新的(在我的示例中为 2015-01-26)。 下面我向您展示了一个我想要获得的示例(股票名称作为第一列,日期顺序倒置)
TSLA 2015-01-26 201.83 208.62 201.05 206.55 3224500
TSLA 2015-01-23 200.29 203.50 198.33 201.29 3438600
TSLA 2015-01-22 197.00 203.24 195.20 201.62 4094100
TSLA,2015-01-21 189.55 198.68 189.51 196.57 4144000
TSLA 2015-01-20 193.87 194.12 187.04 191.93 4489400
AAPL 2015-01-26 113.74 114.36 112.80 113.10 55375900
AAPL 2015-01-23 112.30 113.75 111.53 112.98 46464800
AAPL 2015-01-22 110.26 112.47 109.72 112.40 53796400
AAPL 2015-01-21 108.95 111.06 108.27 109.55 48575900
AAPL 2015-01-20 107.84 108.97 106.50 108.72 49899900
我尝试了一些在论坛上创建的东西,但都没有给我任何结果。 谢谢大家的考虑,希望有人能帮我解决这两个问题。
【问题讨论】:
-
那么是在问如何拥有一个包含所有股票数据的 df?还是所有股票数据的字典?或者你可能想要一个
panel