gpt4 book ai didi

python - 是否可以根据另一个向量的整数值组合(添加)一个向量的值

转载 作者:太空狗 更新时间:2023-10-30 00:24:45 26 4
gpt4 key购买 nike

我正在尝试根据另一个向量的整数值添加一个向量的浮点值。

例如,如果我有:

import numpy as np
a = np.array([0.1,0.2,0.3,0.4,0.5,0.6,07.3,0.8,0.9,1.,1.2,1.4])
b = np.array([0,0,0,0,0,1,1,1,2,2,2,2]).astype(int)

我想将 a 向量的前 5 个值加在一起(因为 b 的前 5 个值是 0),后 3 个值加在一起(因为 b 的后 3 个值是 1)等等。所以最后我希望有

c = function(a,b)
c = [0.1+0.2+0.3+0.4+0.5, 0.6+7.3+0.8, 0.9+1.+1.2+1.4]

最佳答案

方法#1:我们可以利用np.bincountb 作为 bins 和 a 作为权重数组 -

In [203]: np.bincount(b,a)
Out[203]: array([1.5, 8.7, 4.5])

方法 #2: 另一种利用矩阵乘法 -

In [210]: (b == np.arange(b.max()+1)[:,None]).dot(a)
Out[210]: array([1.5, 8.7, 4.5])

关于python - 是否可以根据另一个向量的整数值组合(添加)一个向量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52623692/

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