Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用matplotlib时,AttributeError:';numpy.datetime64';对象没有属性';toordinal';_Python - Fatal编程技术网

Python 使用matplotlib时,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

我只是使用matplotlib绘制sp500数据,得到的错误为

AttributeError:'numpy.datetime64'对象没有属性 “toordinal”

我在谷歌上搜索了很长时间,没有找到解决办法。有人能帮我吗?谢谢

    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运行脚本,就可以了。