我刚刚用matplotlib绘制了sp500数据,我得到了的错误
属性错误:"numpy.datetime64"对象没有属性"toordinal"。我在谷歌上搜索了很长时间,没有找到解决方案。有人能帮我吗?感谢
plt.plot(SP500_df['Date'],
SP500_df['Adj Close'], label=SYMBOL, color='green')
我确实打印了(SP500_df.info(((,它确实显示日期列是datetime64的类型。
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Date 83 non-null datetime64[ns]
1 Adj Close 83 non-null float64
我使用的是python 3.6,在显示上述错误之前,有的警告
C: \Python36\lib\site packages\matplotlib\axes_base.py:248:future警告:不赞成支持多维索引(例如obj[:, None]
(,并将在未来版本中删除。在索引之前转换为numpy数组,而不是
我在谷歌上搜索了很长时间,没有找到解决方案。有人能帮我吗?感谢
好吧,我用两种解决方案解决了这个问题:
解决方案1:使用.values,例如
plt.plot(SP500_df['Date'].values,
SP500_df['Adj Close'].values, label=SYMBOL, color='green')
但我还是不明白为什么?
解决方案2:升级matplotlib并保持所有不变
感谢