我有一个多维直方图
H=histogramdd((x,y,z),bins=(nbins,nbins,nbins),range=((0,1),(0,1),(0,1)))
我需要在数组中打印H的值,这些值不同于零,我还需要知道发生这种情况的坐标/箱。
我对元组不熟悉。你能救我吗?
答案 0 :(得分:4)
使用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