NumPy 的 histogram(~)
方法计算直方图(frequency-count 图)。
参数
1. a
| array-like
输入数组。
2. bins
| array-like
| optional
所需的箱子数量。如果提供了数组,则它必须包含边。默认情况下,我们得到 10 个equal-width bin。
3. range
| float
的tuple
| optional
默认情况下,范围设置为(a.min()
、a.max()
)。
4. weights
| array-like
| optional
包含每个输入值的权重的数组。如果某个值落在特定的 bin 中,我们不会将计数增加 1,而是增加相应的权重。形状必须与 a
相同。默认情况下,权重均为一。
5. density
| boolean
| optional
是否归一化为概率密度函数(即总面积等于 1)。默认情况下,density=False
。
返回值
两个 NumPy 数组的元组:
-
直方图的值(即频率计数)
-
箱子边
例子
基本用法
my_hist, bin_edges = np.histogram([1,3,6,6,10])
print("hist:", my_hist)
print("bin_edges:", bin_edges)
hist: [1 0 1 0 0 2 0 0 0 1]
bin_edges: [ 1. 1.9 2.8 3.7 4.6 5.5 6.4 7.3 8.2 9.1 10. ]
这里,bin_edges
表示bin的间隔,hist
表示落在该间隔之间的值的数量。例如,总共有一项位于 1
和 1.9
之间,因此我们得到直方图中该点的值 1
。
指定 bin 的数量
my_hist, bin_edges = np.histogram([1,3,6,6,10], bins=5)
print("hist:", my_hist)
print("bin_edges:", bin_edges)
hist: [1 1 2 0 1]
bin_edges: [ 1. 2.8 4.6 6.4 8.2 10. ]
指定 bin 边
my_hist, bin_edges = np.histogram([1,3,6,6,10], bins=[1,5,10])
print("hist:", my_hist)
print("bin_edges:", bin_edges)
hist: [2 3]
bin_edges: [ 1 5 10]
指定范围
my_hist, bin_edges = np.histogram([1,3,6,6,10], range=(0,20))
print("hist:", my_hist)
print("bin_edges:", bin_edges)
hist: [1 1 0 2 0 1 0 0 0 0]
bin_edges: [ 0. 2. 4. 6. 8. 10. 12. 14. 16. 18. 20.]
指定权重
my_hist, bin_edges = np.histogram([1,3,6,6,10], weights=[1,5,1,1,1])
print("hist:", my_hist)
print("bin_edges:", bin_edges)
hist: [1 0 5 0 0 2 0 0 0 1]
bin_edges: [ 1. 1.9 2.8 3.7 4.6 5.5 6.4 7.3 8.2 9.1 10. ]
我们得到 5 的原因是输入数组中的两个 6 显然属于同一个 bin,并且由于它们各自的权重是 4 和 5,所以我们最终得到的总 bin 计数为 4+5=9
。
标准化
my_hist, bin_edges = np.histogram([1,3,6,6,10], density=True)
print("hist:", my_hist)
print("bin_edges:", bin_edges)
hist: [0.22222222 0. 0.22222222 0. 0. 0.44444444 0. 0. 0. 0.22222222]
bin_edges: [ 1. 1.9 2.8 3.7 4.6 5.5 6.4 7.3 8.2 9.1 10. ]
相关用法
- Python hashlib.sha3_256()用法及代码示例
- Python help()用法及代码示例
- Python NumPy hstack方法用法及代码示例
- Python BeautifulSoup has_attr方法用法及代码示例
- Python hasattr方法用法及代码示例
- Python http.HTTPStatus用法及代码示例
- Python hashlib.sha3_512()用法及代码示例
- Python help方法用法及代码示例
- Python hashlib.shake_256()用法及代码示例
- Python hashlib.shake_128()用法及代码示例
- Python NumPy hypot方法用法及代码示例
- Python hashlib.blake2s()用法及代码示例
- Python hashlib.blake2b()用法及代码示例
- Python hasattr()用法及代码示例
- Python html.escape()用法及代码示例
- Python statistics harmonic_mean()用法及代码示例
- Python html.unescape()用法及代码示例
- Python math hypot()用法及代码示例
- Python hash()用法及代码示例
- Python hashlib.sha3_224()用法及代码示例
- Python hex方法用法及代码示例
- Python hex()用法及代码示例
- Python OpenCV haveImageReader()用法及代码示例
- Python NumPy hsplit方法用法及代码示例
- Python http.client.HTTPConnection.set_tunnel用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | histogram method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。