gpt4 book ai didi

python - 如何有效地添加或乘以 numpy 数组的每个第 N 个元素?

转载 作者:行者123 更新时间:2023-12-04 07:56:36 24 4
gpt4 key购买 nike

假设我有以下 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]
只是想知道是否有更pythonic/有效的方法来实现这一点?我也看过 np.add.reduceat 和 np.multiply.reduceat 但它们似乎不允许跳过值。

最佳答案

您可以通过以下方式进行操作:

A = np.array([1, 2, 3, 4, 5, 6])
k = 2
B = A[:-k]
C = A[k:]
print(B * C)
print(B + C)
输出
[ 3  8 15 24]
[ 4 6 8 10]
干杯。

关于python - 如何有效地添加或乘以 numpy 数组的每个第 N 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66673457/

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