我正在尝试使用 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 的索引。您可以按如下方式简单地访问它:
df.index
普通示例
In [13]: index = pd.DatetimeIndex(start='2012', end='2013', freq='1D')
In [14]: index
Out[14]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-01-17 00:00:00, ..., 2013-01-17 00:00:00]
Length: 367, Freq: D, Timezone: None
In [15]: df = pd.DataFrame(np.random.randn(len(index),1), index=index)
In [16]: df
Out[16]:
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 367 entries, 2012-01-17 00:00:00 to 2013-01-17 00:00:00
Freq: D
Data columns (total 1 columns):
0 367 non-null values
dtypes: float64(1)
In [17]: df.index
Out[17]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-01-17 00:00:00, ..., 2013-01-17 00:00:00]
Length: 367, Freq: D, Timezone: None
这也适用于其他类型的索引。
如果您正在寻找特定的 DatetimeIndex,您可能会找到有关时间序列的更多详细信息 here .
