python - 运行 Numpy Meshgrid 时出现 MemoryError

标签 python arrays numpy

我有 8823 个具有 x,y 坐标的数据点。我正在尝试按照 how to get a scatter dataset to be represented as a heatmap 上的答案进行操作但是当我通过

X, Y = np.meshgrid(x, y)

关于我的数据数组的指令,我得到了 MemoryError。我是 numpy 和 matplotlib 的新手,主要是尝试通过调整我能找到的示例来运行它。

以下是我如何从存储了它们的文件构建我的数组:

XY_File = open ('XY_Output.txt', 'r')
XY = XY_File.readlines()
XY_File.close()

Xf=[]
Yf=[]
for line in XY:
    Xf.append(float(line.split('\t')[0]))
    Yf.append(float(line.split('\t')[1]))
x=array(Xf)
y=array(Yf)

我的阵列有问题吗?当放入 this example 时,同样的代码起作用了但我不太确定。

为什么我会收到此 MemoryError,我该如何解决?

最佳答案

您对 meshgrid 的调用需要大量内存——它会产生两个 8823*8823 float 组。它们每个大约 0.6 GB。

但是无论如何,您的屏幕无法显示(您的眼睛也无法真正处理)那么多信息,因此在执行此步骤之前,您可能应该想办法将数据平滑到更合理的值,例如 1024*1024 .

关于python - 运行 Numpy Meshgrid 时出现 MemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460627/

相关文章:

python - scikit-learn 中用于交叉验证的自定义折叠

android - 如何通过在 Raspberry Pi 3 B 上使用 python 3 查找 android 手机 ip

javascript - 使用 $.ajax 返回 HTML 并将其转换为 JavaScript 数组

java - IDE没有报错,但是ArrayList无法工作

python - 将行和列的总和附加到矩阵

Python keras 神经网络 (Theano) 包返回有关数据维度的错误

python - 从列中清除字符/str 并将其设为 int 时出现问题

c++ - 修改 saddleback 搜索以处理重复项

python - 使用序列创建 Numpy 数组

python - Numpy:索引 3D 数组,最后一个轴的索引存储在 2D 数组中