numpy.zeros 形状陈述
numpy.zeros shape statement
我在 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'
这是为什么?怎么才能读懂上面的语句呢?
谢谢。
列表中没有 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
将return (2,2)
并且X.shape[1]
将return 2
.
所以 1 + x.shape[1]
将 return 3
和 m = np.zeros(1 + X.shape[1])
m
将具有这样的值 array([ 0., 0., 0.])
我在 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'
这是为什么?怎么才能读懂上面的语句呢?
谢谢。
列表中没有 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
将return (2,2)
并且X.shape[1]
将return 2
.
所以 1 + x.shape[1]
将 return 3
和 m = np.zeros(1 + X.shape[1])
m
将具有这样的值 array([ 0., 0., 0.])