C:\Users\ppddcsm\.conda\envs\pytorch\python.exe "E:\pycharm program\py\时频域特征提取、降采样\test.py" Traceback (most recent call last): File "E:\pycharm program\py\时频域特征提取、降采样\test.py", line 24, in <module> plt.plot(combined_data['307 1号加注泵1号振动'], label=file_name) # 示例绘制折线图,x和y为Excel数据中的列名 File "C:\Users\ppddcsm\.conda\envs\pytorch\lib\site-packages\matplotlib\pyplot.py", line 2812, in plot return gca().plot( File "C:\Users\ppddcsm\.conda\envs\pytorch\lib\site-packages\matplotlib\axes\_axes.py", line 1690, in plot self.add_line(line) File "C:\Users\ppddcsm\.conda\envs\pytorch\lib\site-packages\matplotlib\axes\_base.py", line 2304, in add_line self._update_line_limits(line) File "C:\Users\ppddcsm\.conda\envs\pytorch\lib\site-packages\matplotlib\axes\_base.py", line 2327, in _update_line_limits path = line.get_path() File "C:\Users\ppddcsm\.conda\envs\pytorch\lib\site-packages\matplotlib\lines.py", line 1029, in get_path self.recache() File "C:\Users\ppddcsm\.conda\envs\pytorch\lib\site-packages\matplotlib\lines.py", line 666, in recache self._xy = np.column_stack(np.broadcast_arrays(x, y)).astype(float) numpy.core._exceptions._ArrayMemoryError: Unable to allocate 17.7 MiB for an array with shape (1157120, 2) and data type float64
时间: 2023-07-22 07:13:00 浏览: 265
人工智能python安装环境(Miniconda3-py39-)(pycharm-community-2021.3.2.exe)
这个错误提示表明在尝试分配内存时,无法为一个形状为 (1157120, 2)、数据类型为 float64 的数组分配 17.7 MiB 的内存空间。
这个问题通常出现在计算机的内存不足以容纳所需的大型数组时。有几种方法可以尝试解决这个问题:
1. 减少数组的大小:可以尝试减少数组的大小,例如减少行数或列数,从而减少所需的内存空间。
2. 释放内存:在运行程序之前,尝试关闭其他占用大量内存的应用程序。另外,也可以在代码中使用 `del` 关键字手动删除不再使用的大型数组,以释放内存空间。
3. 使用更小的数据类型:如果你的数据允许,可以尝试使用更小的数据类型,例如使用 float32 替代 float64,以减少所需的内存空间。
4. 采用分块处理:如果可能的话,可以将大型数组分成更小的块进行处理,而不是一次性加载整个数组到内存中。
如果你确定你的计算机具有足够的内存来处理这个数组,但仍然遇到内存错误,请确保你的 numpy 版本是最新的,并且尝试在 64 位的 Python 环境中运行代码,以便能够使用更多的内存。
此外,还要注意,如果你的数据集过大,可能需要考虑使用其他工具或方法进行处理,例如使用数据库管理系统或分布式计算框架。
阅读全文