如何用Numpy实现取array1首元素累加array2元素生成新数组
使用Numpy实现指定累计累加操作
需求说明:给定两个数组array1 = [10,11,12]、array2 = [1,2,3,4,5],需要取array1的首个元素,与array2的元素依次做累计累加(即第一步10+1=11,第二步用第一步结果加2得13,依此类推),最终得到数组array3 = [11,13,16,20,25]。
实现代码
import numpy as np array1 = np.array([10, 11, 12]) array2 = np.array([1, 2, 3, 4, 5]) # 核心操作:取array1首个元素 + array2的累计求和结果 array3 = array1[0] + np.cumsum(array2) print(array3) # 输出: [11 13 16 20 25]
原理说明
np.cumsum(array2)会对array2做累计求和,得到array([1, 3, 6, 10, 15])- 利用Numpy的广播机制,单个数值
array1[0](即10)会自动与累计求和后的数组每个元素相加,直接得到目标结果数组
内容的提问来源于stack exchange,提问作者noobcodersan
相关产品推荐
相关产品推荐

