给定一系列二维坐标以及每个坐标的加权值,是否有一种方法可以使用 numpy histrogram2d 方法确定每个 bin 中的标准偏差?
问问题
2805 次
2 回答
0
使用 numpy不能直接histrogram2d
实现,但使用scipy.stats.binned_statistic_2d可以很容易地完成。
from scipy import stats
x = np.random.rand(10000)
y = np.random.rand(10000)
z = np.random.rand(10000)
binx = np.linspace(0,x.max(), 100)
biny = np.linspace(0,y.max(), 100)
hist = stats.binned_statistic_2d(x, y, z, statistic='std', bins=[binx, biny])
plot_x, plot_y = np.meshgrid(binx, biny)
fig, ax = plt.subplots(figsize=(5,5))
pc = ax.pcolormesh(plot_x, plot_y, hist[0].T, cmap="inferno")
ax.set_aspect('equal')
cbar=fig.colorbar(pc,shrink=0.725)
fig.tight_layout()
该statistic
选项还可以采用不同的东西,例如mean
,median
或用户定义的函数,有关更多详细信息,请参阅文档。
于 2021-03-11T14:50:57.207 回答