Python matplotlib中的numpy和datetime处理

Python matplotlib中的numpy和datetime处理,python,pandas,numpy,datetime,matplotlib,Python,Pandas,Numpy,Datetime,Matplotlib,我正试图将曲线拟合到一个时间序列,正如这里所解释的: 如果我不导入熊猫模块-一切都像一个魅力。 如果我这样做了,而且我必须这样做,-我得到的“datetime.timezone”对象没有属性“\u utcoffset” 在我看来,问题在于绘图步骤是否返回多项式px的系数,而多项式px又取决于日期时间 我经历了很多提示,包括 我非常渴望第五个小时的研究 作为pd导入熊猫请注意,我甚至没有在任何地方调用它。。。如此困惑 将numpy作为np导入 将matplotlib.pyplot作为plt导入 将

我正试图将曲线拟合到一个时间序列,正如这里所解释的:

如果我不导入熊猫模块-一切都像一个魅力。 如果我这样做了,而且我必须这样做,-我得到的“datetime.timezone”对象没有属性“\u utcoffset”

在我看来,问题在于绘图步骤是否返回多项式px的系数,而多项式px又取决于日期时间

我经历了很多提示,包括

我非常渴望第五个小时的研究

作为pd导入熊猫请注意,我甚至没有在任何地方调用它。。。如此困惑 将numpy作为np导入 将matplotlib.pyplot作为plt导入 将matplotlib.dates导入为mdates 将日期时间导入为dt 导入时间 日期=[dt.datetime1978,7,7, 日期时间1980年9月26日, 日期时间1983年8月1日, dt.datetime1985,8,8] y=[0.00134328779552718, 0.00155187668863844, 0.0039431374327427, 0.00780037563783297] 耶尔=[0.00001375474160254577, 0.0000225670232594083, 0.000105623642510075, 0.00011343121508] x=mdates.date2numdates z4=np.polyfitx,y,3 p4=np.1DZ4 图,cx=plt子批次 xx=np.linspacex.min,x.max,100 dd=mdates.num2datexx cx.plotdd,p4xx,'-g' cx.plotdates,y,“+”,颜色为“b”,标签为“blub” 克罗巴代斯,y, 耶尔, 标记='', color='k', ecolor='b', markerfacecolor='b', 标签=系列1, 倾覆=0, 线型= 网格 cx.set_ylim0,0.03 节目 期望:


如果导入pandas,它将注册其日期时间转换器,以供matplotlib使用。很明显,在某个地方,这些都有问题。如果发生这种情况,您可以通过

import pandas as pd
pd.plotting.deregister_matplotlib_converters()

这将确保使用matplotlib转换器,并且这些转换器似乎能按预期工作。

上述答案有效。另一方面,如果您想继续使用pandas转换器。但是,MDATE的格式不同。它计算从第0年开始的天数。因此,可以尝试通过以下方式将mdates格式转换为标准日期时间格式:

dd=mdates.num2datexx t0=mdates.date2numpd.to_datetime0获取1970-01-01中的mdates 新日期=pd.至日期时间DD-t0*24*3600.aTypeint,单位为's' 显式注册转换器以避免将来出现警告 pd.plotting.register\u matplotlib\u转换器
请注意,pandas版本0.25.1似乎解决了此问题。您能否共享您正在使用的pandas和matplotlib版本?我不理解您的问题。没有pandas库,代码可以正常工作。@Madhuri Sangaraju pandas 0.24.2,numpy 1.15.4,matplotlib 3.0。3@Hue,没错-没有熊猫的情况下,代码运行良好,但我必须在其他区域有熊猫。。我将尝试下面的答案,会让你知道下面的答案!谢谢