numpy下的flatten()函数用法详解
flatten是numpy.ndarray.flatten的一个函数,其官方文档是这样描述的:
ndarray.flatten(order='C')
Returnacopyofthearraycollapsedintoonedimension.
Parameters:
order:{‘C',‘F',‘A',‘K'},optional ‘C'meanstoflatteninrow-major(C-style)order.‘F'meanstoflattenincolumn-major(Fortran-style)order.‘A'meanstoflattenincolumn-majororderifaisFortrancontiguousinmemory,row-majororderotherwise.‘K'meanstoflattenaintheordertheelementsoccurinmemory.Thedefaultis‘C'. y:ndarray Acopyoftheinputarray,flattenedtoonedimension.
Returns:
即返回一个折叠成一维的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的。
例子:
1、用于array对象
fromnumpyimport* >>>a=array([[1,2],[3,4],[5,6]])###此时a是一个array对象 >>>a array([[1,2],[3,4],[5,6]]) >>>a.flatten() array([1,2,3,4,5,6])
2、用于mat对象
>>>a=mat([[1,2,3],[4,5,6]]) >>>a matrix([[1,2,3], [4,5,6]])
>>>a.flatten()
matrix([[1,2,3,4,5,6]])
3、但是该方法不能用于list对象
>>>a=[[1,2,3],[4,5,6],['a','b']] [[1,2,3],[4,5,6],['a','b']] >>>a.flatten()###报错 Traceback(mostrecentcalllast): File"",line1,in AttributeError:'list'objecthasnoattribute'flatten'
想要list达到同样的效果可以使用列表表达式:
>>>[yforxinaforyinx] [1,2,3,4,5,6,'a','b']
4、用在矩阵
>>>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) >>>shape(y[0]) (6,) >>>y=a.flatten().A[0] >>>y array([1,3,2,4,3,5])
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。