Create Multidimensional Zeros Python

后端 未结 4 991
一生所求
一生所求 2020-12-19 04:02

I need to make a multidimensional array of zeros.

For two (D=2) or three (D=3) dimensions, this is easy and I\'d use:

a = numpy.zeros(shape=(n,n)) 
<         


        
相关标签:
4条回答
  • 2020-12-19 04:50
    In [4]: import numpy
    
    In [5]: n = 2
    
    In [6]: d = 4
    
    In [7]: a = numpy.zeros(shape=[n]*d)
    
    In [8]: a
    Out[8]: 
    array([[[[ 0.,  0.],
             [ 0.,  0.]],
    
            [[ 0.,  0.],
             [ 0.,  0.]]],
    
    
           [[[ 0.,  0.],
             [ 0.,  0.]],
    
            [[ 0.,  0.],
             [ 0.,  0.]]]])
    
    0 讨论(0)
  • 2020-12-19 04:51

    you can make multidimensional array of zeros by using square brackets

    array_4D = np.zeros([3,3,3,3])
    
    0 讨论(0)
  • 2020-12-19 04:58

    You can multiply a tuple (n,) by the number of dimensions you want. e.g.:

    >>> 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.]]])
    
    0 讨论(0)
  • 2020-12-19 05:05
    >>> sh = (10, 10, 10, 10)
    >>> z1 = zeros(10000).reshape(*sh)
    >>> z1.shape
    (10, 10, 10, 10)
    

    EDIT: while above is not wrong, it's just excessive. @mgilson's answer is better.

    0 讨论(0)
提交回复
热议问题