NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中histogramdd方法的使用。

numpy.histogramdd

numpy.histogramdd(sample, bins=10, range=None, normed=None, weights=None, density=None)     [source]

计算某些数据的多维直方图。

参数 :

sample :(N, D) array, 或 (D, N) array_like

要直方图的数据。 注意当array_like时样本的不寻常解释: 

1) 如果是数组,则每一行都是D维空间中的坐标,

例如, histogramdd(np.array([p1,p2,p3]))。 

2) 如果为array_like,

则每个元素都是单个坐标的值列表。

例如,histogramdd((X,Y,Z))。 第一种形式应该是首选。

bins :sequence 或 int, 可选

bin规格: 

1) 描述沿每个维度单调递增的bin边缘的数组序列。

2) 每个维度的bins数量(nx,ny,…=bins)。 

3) 所有维度的bins数(nx = ny =…=bins)。

range :sequence, 可选

长度为D的序列,每个序列是一个可选的(lower, upper)元组,

如果未在bin中明确给出边缘,则给出要使用的外部bin边缘。

在序列中输入None,将导致最小值和最大值用于相应的尺寸。

默认值None等效于传递D None值的元组。

density :bool, 可选

如果默认值为False,则返回每个bin中的样本数。

如果为True,

则在bin处返回概率密度函数bin_count / sample_count / bin_volume

normed :bool, 可选

密度参数的别名,其行为相同。

为了避免与histogram的标准化规范混淆,应首选密度。

weights :(N,) array_like, 可选

权重每个样本(x_i,y_i,z_i,...)的值w_i的数组。 

如果标准为True,则将权重标准化为1。 如果normed为False,

则返回的直方图的值等于属于每个bin的样本的权重之和。

返回值 :

H :ndarray

样本x的多维直方图。有关不同的可能语义,请参见normed和weights。

edges :list

D数组的列表,描述每个维度的面元边缘。

例子

>>> r = np.random.randn(100,3)
>>> H, edges = np.histogramdd(r, bins = (5, 8, 4))
>>> H.shape, edges[0].size, edges[1].size, edges[2].size
((5, 8, 4), 6, 9, 5)

推荐文档

相关文档

大家感兴趣的内容

随机列表