我有一个多维直方图

   H=histogramdd((x,y,z),bins=(nbins,nbins,nbins),range=((0,1),(0,1),(0,1)))

我需要在数组中打印不同于零的 H 值,我还需要知道发生这种情况的坐标/箱。

我对元组不熟悉。你能帮助我吗?

最佳答案

使用 where 找到 H 中 nozeros 的索引,并使用索引获取坐标:

import numpy as np
x = np.random.random(1000)
y = np.random.random(1000)
z = np.random.random(1000)
nbins = 10
H, [bx, by, bz]=np.histogramdd((x,y,z),bins=(nbins,nbins,nbins),range=((0,1),(0,1),(0,1)))

ix, iy, iz = np.where(H)

for t in zip(bx[ix], by[iy], bz[iz], H[ix,iy,iz]):
    print t

关于python - python中的多维直方图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6909247/

10-10 02:33