Python 零填充阵列到下一个2次方大小

Python 零填充阵列到下一个2次方大小,python,arrays,numpy,Python,Arrays,Numpy,如中所述,此函数零点填充数组: A = np.array([1,2,3,4,5]) B = np.pad(A, (0, 3), 'constant') # array([1, 2, 3, 4, 5, 0, 0, 0]) 问题:在numpy或scipy中是否有一个helper函数可以将数组自动归零到下一个2次方大小?(用于FFT等用途) 我当然可以做类似的事情 def padpower2(A): return np.pad(A, (0, int(2**np.ceil(np.log2(

如中所述,此函数零点填充数组:

A = np.array([1,2,3,4,5])
B = np.pad(A, (0, 3), 'constant')   # array([1, 2, 3, 4, 5, 0, 0, 0])
问题:在
numpy
scipy
中是否有一个helper函数可以将数组自动归零到下一个2次方大小?(用于FFT等用途)

我当然可以做类似的事情

def padpower2(A):
    return np.pad(A, (0, int(2**np.ceil(np.log2(len(A)))) - len(A)), 'constant')

但是记住/重写总是很棘手,所以拥有一个随时可用的
numpy
函数会更好。

它太专业化了,不能成为
numpy
的一部分。如果它对FFT特别有用,则可能在
scipy.signal
模块中,或者在任何实现FFT的地方都会出现一些问题。但很有可能您必须编写自己的实用程序。我不知道有任何numpy内置程序可以做到这一点。关于2的下一次幂的计算,
1需要知道@GZ0。请随意发布一个答案与这个有用的技巧!