Tho*_*mas 2 python numpy python-2.7
我在低通插值期间遇到问题,我必须在处理之前用零填充1D数组.
我有这样的事情:[1 2 3 4 5 6]
我希望有这样的数组[1 0 2 0 3 0 4 0 5 0 6]所以它在数组中是L-1个零,其中L是在零填充之前数组内的所有值的数量.
怎么用Python做?
Blc*_*ght 12
您可以将未填充的值列表分配到另一个零列表的切片中:
original_list = range(1,7) # [1,2,3,4,5,6]
padded_list = [0]*(2*len(original_list)-1) # [0,0,0,0,0,0,0,0,0,0,0]
padded_list[::2] = original_list # [1,0,2,0,3,0,4,0,5,0,6]
Run Code Online (Sandbox Code Playgroud)
这也可以转化为numpy,但正如Jaime在评论中指出的那样,它更容易使用numpy.insert:
import numpy as np
arr = np.arange(1, 7) # array([1, 2, 3, 4, 5, 6])
np.insert(arr, slice(1, None), 0) # array([1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6])
Run Code Online (Sandbox Code Playgroud)