【发布时间】:2014-01-17 01:34:11
【问题描述】:
我正在尝试使用 Flask 将 pandas 绘制到网络上。我认为我在正确的轨道上,但我正在努力抓住日期放在 x 轴上。
对于y轴数据,很简单:
aapl = pd.io.data.get_data_yahoo('AAPL', start=datetime.datetime(2006, 10, 1), end=datetime.datetime(2012, 1, 1))
all_close = appl['Close'][10:]
for close in all_close:
y.append(close)
很简单。但是似乎没有办法从返回的对象中获取日期
这是数据框的样子:
Open High Low Close Volume Adj Close
Date
2006-10-02 75.10 75.87 74.30 74.86 25451400 72.38
2006-10-03 74.45 74.95 73.19 74.08 28239600 71.63
2006-10-04 74.10 75.46 73.16 75.38 29610100 72.89
2006-10-05 74.53 76.16 74.13 74.83 24424400 72.35
2006-10-06 74.42 75.04 73.81 74.22 16677100 71.76
有谁知道我是怎么到那个日期的?
谢谢
【问题讨论】:
-
日期是您在 DataFrame 中的索引。看:pandas.pydata.org/pandas-docs/dev/generated/…;简单地 df.plot() 应该为你制作情节
-
@NipunBatra 我的问题是我正在尝试使用 Flask 框架在网络服务器上运行 pandas。我无法弄清楚如何让
df.plot()打印到网络上,所以我要提取所有数据,然后用Figure和FigureCanvas绘制一个新图表 -
我之前做过一个情节;将其保存为图形,然后将资源渲染为 Flask 上的图像;如果您认为这是可行的-我可以提供详细信息;否则你也可以使用 df.index 拉入日期
-
@NipunBatra 哦。
aapl.index[10:]工作!想回答以便我接受? -
添加了一些关于 datetimeindex 的信息的答案;这可能会有所帮助
标签: python matplotlib pandas