[英]Insert N zeros between elements of array
考慮以下數組h_0 = (1/16)*np.array([1,4,6,4,1])
。 在h_0
的每個值(作為函數的一部分)之間插入N
個零的最簡單方法是什么? 例如,我得到N=2
>>> array([0.0625, 0. , 0. , 0.25 , 0. , 0. , 0.375 , 0. ,
0. , 0.25 , 0. , 0. , 0.0625])
最簡單的可能是切片:
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])
h_0
重塑為 2D,用零堆疊,然后將結果展平:
import numpy as np
h_0 = (1/16)*np.array([1,4,6,4,1])
N = 2
zeros = np.zeros((h_0.shape[0], N))
print(np.hstack((h_0[:,None], zeros)).reshape(-1)[:-N])
# [0.0625 0. 0. 0.25 0. 0. 0.375 0. 0. 0.25 0. 0. 0.0625]
你可以在這里玩這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.