首页 > 解决方案 > 如何在这些向量之间插入每2个向量的总和?

问题描述

如何在它们之间插入每2个向量的总和?例子:

[[10,10], [20,30], [1,1]] -----> [[10,10], [30,40], [20,30], [21,31], [1,1]]

我想我会首先制作一个 numpy 数组来获得总和,但我不确定如何在正确的位置插入新向量。我是在数组上执行此操作还是应该将总和转换回列表?

标签: pythonpython-3.xnumpynumpy-ndarray

解决方案


您可以计算总和,然后使用函数insert

arr = np.array([[10,10], [20,30], [1,1]])

arr1 = arr[::2] + arr[1::2]
arr2 = np.insert(arr, np.arange(1, arr.shape[0]), arr1, axis=0)

输出:

array([[10, 10],
       [30, 40],
       [20, 30],
       [21, 31],
       [ 1,  1]])

推荐阅读