Python 使用matplotlib时,AttributeError:';numpy.datetime64';对象没有属性';toordinal';
我只是使用matplotlib绘制sp500数据,得到的错误为 AttributeError:'numpy.datetime64'对象没有属性 “toordinal” 我在谷歌上搜索了很长时间,没有找到解决办法。有人能帮我吗?谢谢Python 使用matplotlib时,AttributeError:';numpy.datetime64';对象没有属性';toordinal';,python,Python,我只是使用matplotlib绘制sp500数据,得到的错误为 AttributeError:'numpy.datetime64'对象没有属性 “toordinal” 我在谷歌上搜索了很长时间,没有找到解决办法。有人能帮我吗?谢谢 plt.plot(SP500_df['Date'], SP500_df['Adj Close'], label=SYMBOL, color='green') 我确实打印了(SP500_df.info()),它确实显示了date列是date
plt.plot(SP500_df['Date'],
SP500_df['Adj Close'], label=SYMBOL, color='green')
我确实打印了(SP500_df.info()),它确实显示了date列是datetime64的一种类型
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Date 83 non-null datetime64[ns]
1 Adj Close 83 non-null float64
我使用的是Python3.6,在显示上述错误之前,有一个警告
C:\Python36\lib\site packages\matplotlib\axes\u base.py:248:FutureWarning:对多维索引的支持(例如obj[:,None]
)已被弃用,并将在将来的版本中删除。改为在索引之前转换为numpy数组
我在谷歌上搜索了很长时间,没有找到解决办法。有人能帮我吗?谢谢好的,我通过两种解决方案解决了这个问题:
plt.plot(SP500_df['Date'],
SP500_df['Adj Close'], label=SYMBOL, color='green')
解决方案1:例如,使用.values
plt.plot(SP500_df['Date'].values,
SP500_df['Adj Close'].values, label=SYMBOL, color='green')
但我还是不明白为什么
解决方案2:升级matplotlib并保持一切不变
谢谢,Toordinal是date对象的类方法。似乎您的SP500_df对象正在某处调用toordinal函数。np.datetime数据类型没有ToOrdinal属性。如果您在某处调用该函数,我会将数据格式更改为np.datetime可读属性。更多信息可以在这里找到-谢谢,如果我使用spyder运行脚本,就可以了。