gpt4 book ai didi

python - 对 numpy.array 的部分求和

转载 作者:太空狗 更新时间:2023-10-29 21:26:48 25 4
gpt4 key购买 nike

假设我有以下数组:

a = np.array([[1,2,3,4,5,6], 
[7,8,9,10,11,12],
[3,5,6,7,8,9]])

我想对第一行的前两个值求和:1+2 = 3,然后是下两个值:3+4 = 7,然后是 5+6 = 11,每一行依此类推。我想要的输出是这样的:

array([[ 3,  7, 11],
[15, 19, 23],
[ 8, 13, 17]])

我有以下解决方案:

def sum_chunks(x, chunk_size):
rows, cols = x.shape
x = x.reshape(x.size / chunk_size, chunk_size)
return x.sum(axis=1).reshape(rows, cols/chunk_size)

但是感觉很复杂,有没有更好的办法呢?也许是内置的?

最佳答案

只需使用切片:

a[:,::2] + a[:,1::2]

这采用由每个偶数索引列 (::2) 形成的数组,并将其添加到由每个奇数索引列 (1::2) 形成的数组。

关于python - 对 numpy.array 的部分求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18582544/

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