在python中创建一个充满零的4d矩阵,numpy

时间:2015-03-13 21:22:57

标签: python matlab numpy

我正在尝试使用以下代码在python中创建一个4维矩阵;

import numpy as np
rho=np.zeros(2,2,2,2)

但我收到以下错误;

    rho=np.zeros(2,2,2,2)
TypeError: function takes at most 3 arguments (4 given)

这似乎在matlab中有效,但不在此处。任何帮助,将不胜感激, 谢谢!

1 个答案:

答案 0 :(得分:9)

不是传递4个参数,而是传递一个参数,一个由四个元素组成的元组:

>>> rho=np.zeros((2,2,2,2))
>>> rho
array([[[[ 0.,  0.],
         [ 0.,  0.]],

        [[ 0.,  0.],
         [ 0.,  0.]]],


       [[[ 0.,  0.],
         [ 0.,  0.]],

        [[ 0.,  0.],
         [ 0.,  0.]]]])
>>> rho.shape
(2, 2, 2, 2)

call signaturezeros(shape, dtype=float, order='C'),因此它尝试将前2个解释为形状,将第2个解释为类型,将第3个解释为存储顺序,然后它不知道如何处理最后2个。