a是个矩阵或者数组,a.flatten()就是把a降到一维,默认是按横的方向降
那么a.flatten().A又是什么呢? 其实这是因为此时的a是个矩阵,降维后还是个矩阵,矩阵.A(等效于矩阵.getA())变成了数组。具体看下面的例子:
>>> from numpy import *
>>> a = [[1,3],[2,4],[3,5]]
>>> a = mat(a)
>>> y = a.flatten()
>>> y
matrix([[1, 3, 2, 4, 3, 5]])
>>> y = a.flatten().A
>>> y
array([[1, 3, 2, 4, 3, 5]])
>>> shape(y)
(1, 6)
>>> y = a.flatten().A[0]
>>> shape(y)
(6,)
>>> y
array([1, 3, 2, 4, 3, 5])
下面是flatten的原版解释
numpy.chararray.flatten
-
chararray.
flatten
(
order='C'
)
-
Return a copy of the array collapsed into one dimension.
Parameters: order : {‘C’, ‘F’, ‘A’, ‘K’}, optional
‘C’ means to flatten in row-major (C-style) order. ‘F’ means to flatten in column-major (Fortran- style) order. ‘A’ means to flatten in column-major order if a is Fortran contiguous in memory, row-major order otherwise. ‘K’ means to flatten a in the order the elements occur in memory. The default is ‘C’.
Returns: y : ndarray
A copy of the input array, flattened to one dimension.
Examples