【发布时间】:2016-06-24 09:03:13
【问题描述】:
我在 Python 中遇到过这样的语句:
np.zeros(1 + X.shape[1])
我知道这旨在创建一个用来自here 的零填充的数组,但无法理解这部分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'
这是为什么呢?我们如何阅读上面的声明?
谢谢。
【问题讨论】:
-
x应该是一个 numpy 数组,而不是一个列表。 -
如果你想访问它的形状,你需要将 X 设为一个 numpy 数组,而不是一个列表。试试
X = np.array([[1,2],[3,4]])。