numpy数组逐行加向量后迭代追加结果5次的实现方案咨询
Numpy 迭代追加计算实现方案
直接上可运行的实现代码:
import numpy as np # 初始化原始数组 origin_arr = np.array([ [-1.228, 0.709, 0.], [0., 2.836, 0.], [1.228, 0.709, 0.] ]) # 定义每次相加的向量 add_vector = np.array([1, 2, 3]) # 执行5次迭代操作 for _ in range(5): # 只取当前数组的最后3行做加法计算 new_part = origin_arr[-3:] + add_vector # 将新生成的3行追加到数组末尾 origin_arr = np.vstack((origin_arr, new_part))
实现说明
- 依赖numpy自带的广播机制,形状为
(3, 3)的子数组和(3,)的一维向量相加时,会自动对每行执行逐元素加法,不需要手动循环每行 - 每次迭代仅读取上一轮最后生成的3行参与计算,符合需求逻辑
- 5轮迭代结束后,最终数组总共有
3 + 3*5 = 18行,你可以通过print(origin_arr.shape)自行验证结果
内容的提问来源于stack exchange,提问作者Roshan Shrestha
相关产品推荐
相关产品推荐

