gpt4 book ai didi

python - Python 中函数的分箱值 (numpy)

转载 作者:行者123 更新时间:2023-12-01 05:14:04 26 4
gpt4 key购买 nike

让我揭露我的问题:

我用 Python 和 Numpy 编写了一个软件,它生成两个名为 X 和 Y 的 numpy 数组。

这些值作为函数相关:Y = f(X)

X 值属于区间 [0;1]。

numpy.histogram 允许在此间隔内将 X 值分箱到预定义的等间隔箱中。

我想做的是对每个 bin 对应的 Y 值求和,而不执行“for”循环。

非常感谢您的回答。

最佳答案

假设您的 y 值位于相应位置,即 y[i] = f(x[i]) 那么您可以使用 numpy.digitize查找 x 值所属的 bin 的索引,并使用这些索引对相应的 y 值求和。

来自 numpy 示例(忽略这些值不在 [0; 1] 范围内):

>>> x = np.array([0.2, 6.4, 3.0, 1.6])
>>> bins = np.array([0.0, 1.0, 2.5, 4.0, 10.0])
>>> inds = np.digitize(x, bins)
>>> inds
array([1, 4, 3, 2])

然后对 y 中的值求和:

>>> aggregate = [y[inds == i].sum() for i in np.unique(inds)]

如果您在自己创建垃圾箱方面遇到困难,请查看 numpy.linspace .

numpy.linspace(0, 1, num=50, endpoint=True)

关于python - Python 中函数的分箱值 (numpy),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23594262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com