mindspore.numpy.histogram

mindspore.numpy.histogram(a, bins=10, range=None, weights=None, density=False)[源代码]

计算数据集的直方图。

说明

不支持 bins 为string类型。 不支持已弃用的NumPy参数 normed

参数:
  • a (Union[int, float, bool, list, tuple, Tensor]) - 输入数据。直方图在展平的数组上计算。

  • bins (Union[int, tuple, list, Tensor], 可选) - 如果 bins 为int,它定义了给定范围(默认为10)中等宽的桶的数量。 如果 bins 是一个序列,它定义了桶的边界,包括最右边界,允许非均匀的桶宽度。默认值: 10

  • range ((float, float), 可选) - 桶的上下界。 如果未提供, range 简单定义成 (a.min(), a.max()) 。 范围之外的值将被忽略。 range 的第一个元素必须小于等于第二个元素。默认值: None

  • weights (Union[int, float, bool, list, tuple, Tensor], 可选) - 一个与 a shape相同的权重数组。 如果 density 为True,权重将被归一化,使得范围内的密度总和为1。默认值: None

  • density (boolean, 可选) - 如果为False,结果将包含每个桶中的样本数量。 如果为True,结果是桶的位置处概率密度函数的值,规一化使得其在整个范围上的积分为1。 请注意,直方图值的总和不会等于1,除非选择了单位宽度的桶。 它不是一个概率质量函数。默认值: False

返回:

(Tensor, Tensor),直方图的值和桶的边界。

异常:
  • ValueError - 如果 xweights 的size不相同。

支持平台:

Ascend GPU CPU

样例:

>>> from mindspore import numpy as np
>>> print(np.histogram([1, 2, 1], bins=[0, 1, 2, 3]))
(Tensor(shape=[3], dtype=Float32, value= [ 0.00000000e+00,  2.00000000e+00,  1.00000000e+00]),
Tensor(shape=[4], dtype=Int32, value= [0, 1, 2, 3]))
>>> print(np.histogram(np.arange(4), bins=np.arange(5), density=True))
(Tensor(shape=[4], dtype=Float32, value=
[ 2.50000000e-01,  2.50000000e-01,  2.50000000e-01,  2.50000000e-01]),
Tensor(shape=[5], dtype=Int32, value= [0, 1, 2, 3, 4]))
>>> print(np.histogram([[1, 2, 1], [1, 0, 1]], bins=[0,1,2,3]))
(Tensor(shape=[3], dtype=Float32, value= [ 1.00000000e+00,  4.00000000e+00,  1.00000000e+00]),
Tensor(shape=[4], dtype=Int32, value= [0, 1, 2, 3]))