如何有效地将numpy数组的每n个元素相加或相乘?

2024-09-27 07:25:34 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有以下numpy数组

A = [1,2,3,4,5,6]

问题是否有一种快速的方法可以将a中的每N个元素相乘或相加,从而生成以下数组

B = [3*1, 2*4, 3*5, 4*6]
C = [3+1, 2+4, 3+5, 4+6]  

我可以通过滚动A,然后将其与原始A相加或相乘来实现这一点

T = np.roll(A,-2)
B = (A*T)[0:4]
C = (A*T)[0:4] 

只是想知道是否有一种更为通灵/高效的方法来实现这一点?我还研究了np.add.reduceat和np.multiply.reduceat,但它们似乎不允许跳过值


Tags: 方法numpyadd元素np数组multiplyroll

热门问题