Nat*_*mas 5 arrays histogram python-3.x
我有代表多个数据点高度的值,例如:
arr = np.array([1.0,1.2,1.6,2.3,2.2,2.6,2.8,2.2,3.7,3.3......7.1,7.7,7.3,7.9,7.5,7.3,8.2,9.9,9.3,9.5,10.0,10.2])
Run Code Online (Sandbox Code Playgroud)
与这些相关的是它们区域的另一个数组:
arr2 = np.array([50,30,25,21,36,87,54,34,67,43,21,45,......25,46,78,42])
Run Code Online (Sandbox Code Playgroud)
arr 和 arr2 具有相同的形状。
我可以使用以下方法从 arr 获取直方图:
np.hist(arr,bins=11,range=(0,11))
Run Code Online (Sandbox Code Playgroud)
这给了我每个 bin 的计数,但我想要的是每个 bin 的总面积(来自 arr2)。
例如,对于高度 >=1 和 <2,我想要总面积,在本例中为:
50+30+25 = 105
Run Code Online (Sandbox Code Playgroud)
是否有一个函数或Pythonic方法可以从arr2中获取属于arr创建的垃圾箱中的总数?
我通过使用 numpy.histogram 实现了这一点。使用权重允许我根据 arr 的 bin 对 arr2 中的值求和,如文档中所示: https: //docs.scipy.org/doc/numpy/reference/ generated/numpy.histogram.html
所以我的新代码是:
n, bins = numpy.histogram(arr, bins=100, range=(0,100), weights=arr2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1093 次 |
| 最近记录: |