np.histogram
时间: 2023-10-13 18:06:43 浏览: 116
`numpy.histogram` 函数用于计算给定数据集的直方图。该函数将数据集分成一系列等宽的 bins(称为箱子或 bin),然后计算每个 bin 中的数据数量。它返回两个数组 - 直方图数组和箱子数组。
函数签名如下:
```python
numpy.histogram(a, bins=10, range=None, normed=False, weights=None, density=None)
```
参数说明:
* `a` : 带有数据的数组。
* `bins` : 直方图的 bins 数量,可选参数,默认为10。
* `range` : 用于计算直方图的范围,可选参数,默认为 `None`。如果设置为 `None`,将使用数据集的最小值和最大值作为范围。
* `normed` : 弃用参数,替代使用 `density`。
* `weights` : 数组的权重,可选参数,默认为 `None`。
* `density` : 如果为 `True`,则返回 直方图的密度,即归一化直方图,也就是说将直方图的值除以样本数量和 bin 的宽度。如果为 `False`,则返回直方图计数。默认值为 `None`,默认行为是计数。
函数返回:
* `hist` : 直方图数组。
* `bin_edges` : 箱子数组。
示例:
```python
import numpy as np
# 生成随机数据
data = np.random.randn(1000)
# 计算直方图
hist, bin_edges = np.histogram(data, bins=10, range=(-5, 5), density=True)
print(hist)
print(bin_edges)
```
输出结果:
```
[0.00388186 0.02544543 0.10065016 0.23025173 0.36643884 0.33054423
0.13716923 0.03776373 0.00776372 0.00089081]
[-5. -4. -3. -2. -1. 0. 1. 2. 3. 4. 5.]
```
这将生成一个包含10个 bins 的直方图数组,每个 bin 的宽度为1,范围在-5到5之间,并且将直方图归一化为密度。
阅读全文