numpy
1. zeros
用来创建元素全为0的数组,数组的维度根据参数来。
Examples:
>>> np.zeros(5)
array([ 0., 0., 0., 0., 0.])
>>> np.zeros((5,), dtype=np.int)
array([0, 0, 0, 0, 0])
>>> np.zeros((2, 1))
# 这里表示创建一个2维数组(也就是矩阵),其中包含2行1列
array([[ 0.],
[ 0.]])
>>> s = (2,2)
>>> np.zeros(s)
array([[ 0., 0.],
[ 0., 0.]])
>>> np.zeros((2,3,4))
# 这里表示创建一个3维数组(也就是张量),其中包含2个3 * 4的矩阵
array([[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]],
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]])
>>> np.zeros((2,), dtype=[('x', 'i4'), ('y', 'i4')]) # custom dtype
array([(0, 0), (0, 0)],
dtype=[('x', '<i4'), ('y', '<i4')])
可以看出来zeros函数第一个参数:
如果是纯数字,表示一维数组,个数等于这个数字,其实等价np.zeros((n))。
如果是一个包含n个元素的元组,表示创建的n维数组,n1,n2,...,n,即第一维包含n1,第二维包含n2...个元素.
2. array.shape
返回的是一个元组的规模,返回值用元组来表示,里面有几个数字就表示是几维的数组。
Examples:
>>> x = np.array([1, 2, 3, 4])
>>> x.shape
(4,)
>>> y = np.zeros((2, 3, 4))
>>> y.shape
(2, 3, 4)