今天用到了shape,就顺便学习一下,这个shape的作用就是要把矩阵进行行列转换,请看下面的几个例子就明白了:
>>> import numpy as np >>> x = np.array([1,2,3,4]) >>> x.shape (4,) >>> y = np.zeros([2,3,4]) >>> y.shape (2, 3, 4) >>> y.shape = (3,8) >>> y 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.]]) >>> y.shape = (3,6) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: cannot reshape array of size 24 into shape (3,6) >>> y.shape = (4,6) >>> y.shape (4, 6) >>> y 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.]]) >>> y = np.zeros([2,3,4]) >>> y 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.]]]) >>> y.shape = (-1,2) >>> y 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.]]) >>> x.shape (4,) >>> x.shape = (-1,2) >>> x array([[1, 2], [3, 4]]) >>>
参考文档: https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.shape.html