创建多维零点Python

Sam*_*tel 7 python arrays numpy multidimensional-array

我需要制作一个零的多维数组.

对于两个(D = 2)或三个(D = 3)尺寸,这很容易,我会使用:

a = numpy.zeros(shape=(n,n)) 
Run Code Online (Sandbox Code Playgroud)

要么

a = numpy.zeros(shape=(n,n,n))
Run Code Online (Sandbox Code Playgroud)

如何为更高的D,制作长度为n的数组?

mgi*_*son 14

您可以将元组乘以(n,)所需的维数.例如:

>>> import numpy as np
>>> N=2
>>> np.zeros((N,)*1)
array([ 0.,  0.])
>>> np.zeros((N,)*2)
array([[ 0.,  0.],
       [ 0.,  0.]])
>>> np.zeros((N,)*3)
array([[[ 0.,  0.],
        [ 0.,  0.]],

       [[ 0.,  0.],
        [ 0.,  0.]]])
Run Code Online (Sandbox Code Playgroud)