首页 > 解决方案 > 在数组元素之间插入 N 个零

问题描述

考虑以下数组h_0 = (1/16)*np.array([1,4,6,4,1])。在(作为函数的一部分)的N 每个值之间插入零的最简单方法是什么?h_0所以我得到N=2例如

>>> array([0.0625, 0.    , 0.    , 0.25  , 0.    , 0.    , 0.375 , 0.    ,
       0.    , 0.25  , 0.    , 0.    , 0.0625])

标签: pythonnumpyinsert

解决方案


最简单的可能是切片:

h_0 = (1/16)*np.array([1,4,6,4,1])
N = 2

out = np.zeros(h_0.size * (N+1) - N , h_0.dtype)
out[::N+1] = h_0
out
# array([0.0625, 0.    , 0.    , 0.25  , 0.    , 0.    , 0.375 , 0.    ,
#        0.    , 0.25  , 0.    , 0.    , 0.0625])

推荐阅读