【发布时间】:2019-03-22 22:56:20
【问题描述】:
我使用这个代码部分;
df = pd.read_csv('Vertikale_Netzlast_2013.csv', header=6, sep=';', parse_dates=[[0, 1]], index_col=0, na_values=['n.v.'])
df.columns = ["time", "Load"]
df.Load = df.Load.interpolate()
plt.figure(figsize=(14, 5))
df.Load.plot()
plt.title('Vertical Grid Load Germany 2013')
plt.ylabel('Power [$MW$]')
plt.savefig('VerticalGridLoadGermany2013.png', bbox_inches='tight', dpi=150, transparent=True)
hann = np.hanning(len(df.Load.values))
Y = np.fft.fft(hann * df.Load.values)
N = ceil(len(Y) / 2 + 1)
print(N)
fa = 1.0 / (15.0 * 60.0) # every 15 minutes
print('fa=%.4fHz (Frequency)' % fa)
X = np.linspace(0, fa / 2, N, endpoint=True)
plt.plot(X, 2.0 * np.abs(Y[:N]) / N)
plt.xlabel('Frequency ($Hz$)')
plt.ylabel('vertical powergrid load ($MW$)')
但是我没有运行并且python给出了这个错误
/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/numpy/core/numeric.py:531:ComplexWarning:将复数转换为实数会丢弃虚部返回数组(a, dtype,复制=假,订单=订单)
dt=0.00629s(采样时间)
fa=159.00Hz(频率)
/home/ozleb/PycharmProjects/work/venv/lib/python3.6/site-packages/dateutil/parser/_parser.py:1204:UnknownTimezoneWarning:tzname B 已识别但无法理解。传递 tzinfos 参数以正确返回时区感知日期时间。在未来的版本中,这将引发异常。
类别=未知时区警告)
17523
fa=0.0011Hz(频率)
Tkinter 回调中的异常
回溯(最近一次通话最后):
call__return self.func(*args) 中的文件“/usr/lib/python3.6/tkinter/init.py”,第 1702 行
文件“/usr/lib/python3.6/tkinter/__init.py”,第 746 行,在 callit func(*args) 中
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/backends/_backend_tk.py”,第 346 行,在 idle_draw self.draw()
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/backends/backend_tkagg.py”,第9行,在draw super(FigureCanvasTkAgg, self).draw()
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/backends/backend_agg.py”,第 402 行,绘制 self.figure.draw(self.renderer)
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/artist.py”,第 50 行,在 draw_wrapper 返回绘制(艺术家,渲染器,*args,**kwargs)
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/figure.py”,第 1652 行,绘制中
渲染器,自我,艺术家,self.suppressComposite)
_draw_list_compositing_images a.draw(renderer) 中的文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/image.py”,第 138 行
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/artist.py”,第 50 行,在 draw_wrapper
返回绘图(艺术家,渲染器,*args,**kwargs)
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/axes/_base.py”,第 2604 行,绘制 mimage._draw_list_compositing_images(渲染器,自我,艺术家)
_draw_list_compositing_images a.draw(renderer) 中的文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/image.py”,第 138 行
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/artist.py”,第 50 行,在 draw_wrapper 返回绘制(艺术家,渲染器,*args,**kwargs)
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/axis.py”,第 1185 行,绘制 ticks_to_draw = self._update_ticks(renderer)
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/axis.py”,第 1023 行,在 _update_ticks tick_tups = list(self.iter_ticks()) # iter_ticks 调用定位器
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/axis.py”,第 967 行,在 iter_ticks majorLocs = self.major.locator()
调用 self.refresh() 中的文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/dates.py”,第 1229 行
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/dates.py”,第 1249 行,刷新 dmin,dmax = self.viewlim_to_dt()
文件“/home/ozlemb/PycharmProjects/work/venv/lib/python3.6/site-packages/matplotlib/dates.py”,第 1000 行,在 viewlim_to_dt.format(vmin))
ValueError: view limit minimum -36761.69947916667 小于 1 并且是无效的 Matplotlib 日期值。如果您将非日期时间值传递给具有日期时间单位的轴,这通常会发生
进程以退出代码 0 结束
这会导致python(3)版本吗? 我是新手,我想用 fft 处理来自传感器的信号数据。
谢谢
【问题讨论】:
-
请包含完整错误信息。它应该说明哪一行是问题。