Python numpy.zeros形状语句

Python numpy.zeros形状语句,python,arrays,numpy,shape,Python,Arrays,Numpy,Shape,我在Python中遇到了以下语句: np.zeros(1 + X.shape[1]) 我知道这是为了创建一个由0填充的数组,但我不理解这部分1+X.shape[1] 我试着运行这样一个小测试: import numpy as np X = [[1,2],[3,4]] m = np.zeros(1 + X.shape[1]) print m 但是,我得到了以下信息: Traceback (most recent call last): File "test.py", line 3, in

我在Python中遇到了以下语句:

np.zeros(1 + X.shape[1])
我知道这是为了创建一个由0填充的数组,但我不理解这部分
1+X.shape[1]

我试着运行这样一个小测试:

import numpy as np
X = [[1,2],[3,4]]
m = np.zeros(1 + X.shape[1])
print m
但是,我得到了以下信息:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    m = np.zeros(1 + X.shape[1])
AttributeError: 'list' object has no attribute 'shape'
回溯(最近一次呼叫最后一次):
文件“test.py”,第3行,在
m=np.零(1+X.形[1])
AttributeError:“列表”对象没有属性“形状”
为什么呢?我们如何阅读上述声明


谢谢。

列表没有
shape
属性。您应该使用
np.array
获得形状

试试这个

import numpy as np
X = np.array([[1,2],[3,4]])
m = np.zeros(1 + X.shape[1])
print m
要使它成为一个numpy数组,您应该这样做
X=np.array([[1,2],[3,4]])
这将是一个numpy数组

X.shape
将返回
(2,2)
X.shape[1]
将返回
2


因此
1+x.shape[1]
将返回
3
m=np。零(1+x.shape[1])
m
将具有如下值
数组([0,0,0.])
列表没有
shape
属性。您应该使用
np.array
获得形状

试试这个

import numpy as np
X = np.array([[1,2],[3,4]])
m = np.zeros(1 + X.shape[1])
print m
要使它成为一个numpy数组,您应该这样做
X=np.array([[1,2],[3,4]])
这将是一个numpy数组

X.shape
将返回
(2,2)
X.shape[1]
将返回
2


因此
1+x.shape[1]
将返回
3
m=np。零(1+x.shape[1])
m
将具有如下值
数组([0,0,0.])
x
应该是一个numpy数组,而不是列表。如果要访问其形状,需要将x设置为numpy数组,而不是列表。试试
X=np.array([[1,2],[3,4]])
X
应该是一个numpy数组,而不是列表。如果要访问其形状,需要将X设置为numpy数组,而不是列表。试试
X=np.array([[1,2],[3,4]])