作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
import pandas.io.data as web
import datetime
import matplotlib.pyplot as plt
start = datetime.datetime.strptime('2/10/2016', '%m/%d/%Y')
end = datetime.datetime.strptime('2/24/2016', '%m/%d/%Y')
f = web.DataReader(['GOOG','AAPL'], 'yahoo', start, end)
#print 'Volume'
wha = f[['Adj Close']] #pick out Adj Close
x=wha[0,:]
print x.shape
ax = f['Adj Close'].plot(grid=True, fontsize=10, rot=45.)
ax.set_ylabel('Adjusted Closing Price ($)')
plt.legend(loc='upper center', ncol=2, bbox_to_anchor=(0.5,1.1), shadow=True, fancybox=True, prop={'size':10})
#plt.show()
正如您在上面看到的,我正在尝试挑选出个股价格的数值以进行数据处理。
与
#print wha[1,:]
x=wha[0,:]
print x.shape
我可以将其简化为 9x2 矩阵,其中有两列用于 GOOG 和 AAPL,每列有 9 个价格。
我试过了
print type(x)
然后看到它是
<class 'pandas.core.frame.DataFrame'>
通过
wha2=x.values.tolist()
我能够挑选出股票价格。
现在有没有一种简单的方法可以绘制一只股票(例如 AAPL)与日期的价格?
最佳答案
还有什么比 Pandas 数据框更易于处理数据?!?
>>> f['Adj Close'].iloc[:8, :2]
AAPL GOOG
Date
2016-02-10 94.269997 684.119995
2016-02-11 93.699997 683.109985
2016-02-12 93.989998 682.400024
2016-02-16 96.639999 691.000000
2016-02-17 98.120003 708.400024
2016-02-18 96.260002 697.349976
2016-02-19 96.040001 700.909973
2016-02-22 96.879997 706.460022
从您的面板数据中,我首先选择列 Adj Close
。然后,我使用 iloc
进行基于索引的位置过滤,选择 0-8 行和 0-1 列。
为 Apple 准备 adj close:
>>> f['Adj Close'].loc[:, 'AAPL']
Date
2016-02-10 94.269997
2016-02-11 93.699997
2016-02-12 93.989998
2016-02-16 96.639999
2016-02-17 98.120003
2016-02-18 96.260002
2016-02-19 96.040001
2016-02-22 96.879997
2016-02-23 94.690002
Name: AAPL, dtype: float64
这是文档中索引的链接。 http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-and-selecting-data
>>> f['Adj Close'].corr()
AAPL GOOG
AAPL 1.00000 0.87332
GOOG 0.87332 1.00000
关于python - 如何从 Datareader pandas 中挑选出单独的数值列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35607878/
我是一名优秀的程序员,十分优秀!