【问题标题】:sum one numpy array based on bins of another根据另一个的 bin 对一个 numpy 数组求和
【发布时间】:2018-12-25 19:23:36
【问题描述】:

我有代表多个数据点高度的值,例如:

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])

与这些相关的是另一个他们区域的数组:

arr2 = np.array([50,30,25,21,36,87,54,34,67,43,21,45,......25,46,78,42])

arr 和 arr2 具有相同的形状。

我可以使用以下方法从 arr 获取直方图:

np.hist(arr,bins=11,range=(0,11)) 

这给了我每个箱子的计数,但我想要的是每个箱子的总面积(来自 arr2)。

例如对于高度 >=1 和

50+30+25 = 105

是否有从 arr2 中获取总数的函数或 Python 方法,这些总数位于从 arr 创建的 bin 中?

【问题讨论】:

    标签: arrays python-3.x histogram


    【解决方案1】:

    我通过使用 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)
    

    【讨论】:

      猜你喜欢
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多