热图三元网格中的大元组集合

2024-06-25 23:48:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经产生了一组坐标,对应于x,y,z(不是笛卡尔而是三元)和一组三元网格。由于大多数结果都需要高分辨率才能给出清晰的热图,所以我的三元网格最终变得非常大,这是我无法避免的。在

Coor(三元网格)有大约500000个元组和N(数据)约100000个元组,它们都具有相同类型的坐标类型。这导致了相当多的计算时间。每个N都被分到Coor中,稍后我会用它来绘制热图。我在python3.4上做这个。下面是一段需要较长计算时间的代码片段。在

for i in range(Coor):
    for k in range(N):
        if all(coor[i])==all(data1[k]):
            value110[i]=(value110[i]+1.0)

有没有什么方法可以简化binning过程或者让python上的binning过程更快?网上没有太多关于三元情节的话题,这让我不禁要问。在

^{pr2}$

值110是一组与Coor(三元网格)相对应的零。在

value110=np.zeros(len(Coor))

值110中的每个零都是对应于三元网格的浮点(它们表示每个三元网格的热量级别)

data110可以取网格上的任何值,因为它们是通过函数随机生成的。在

an example of heatmap i plotted with a smaller sample size

我增加了样本的数量,以便在每个箱子中提供更平滑的过渡。三元网格上对应于0的点,我从数据中省略了(减少了绘图时对ram的需求)。当我试图放大我的样本时,问题就出现了,但是装箱过程不再那么有效了,所以我试图提高装箱的速度


Tags: 数据in网格类型for过程时间range