Python中flatten( ),matrix.A用法说明
flatten()函数用法
flatten是numpy.ndarray.flatten的一个函数,即返回一个折叠成一维的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的。
其官方文档是这样描述的
Parameters:
ndarray.flatten(order='C')Returnacopyofthearraycollapsedintoonedimension.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'.
a是个矩阵或者数组,a.flatten()就是把a降到一维,默认是按横的方向降
那么a.flatten().A又是什么呢?其实这是因为此时的a是个矩阵,降维后还是个矩阵,矩阵.A(等效于矩阵.getA())变成了数组。具体看下面的例子:
1、用于array对象
>>>fromnumpyimport* >>>a=array([[1,2],[3,4],[5,6]]) >>>a array([[1,2], [3,4], [5,6]]) >>>a.flatten() array([1,2,3,4,5,6]) >>>a.flatten('F') array([1,3,5,2,4,6])#按列排序 >>>a.flatten('A') 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]]) >>>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]]) >>>y=a.flatten().A >>>shape(y) (1L,6L) >>>shape(y[0]) (6L,) >>>a.flatten().A[0] array([1,2,3,4,5,6]) >>>
从中可以看出matrix.A的用法和矩阵发生的变化。
3、但是该方法不能用于list对象,想要list达到同样的效果可以使用列表表达式:
>>>a=array([[1,2],[3,4],[5,6]]) >>>[yforxinaforyinx] [1,2,3,4,5,6] >>>
完美实现!!
补充知识:python中矩阵.A是什么意思?
1.概述
在numpy中矩阵我们十分常用,但有时候我们会将矩阵转化为数组,方法很简单,直接在矩阵名后加.A即可。
2.演示
#!/usr/bin/envpython3 #-*-coding:utf-8-*- #@Time:2019/2/2119:13 #@Author:ArrowandBullet #@FileName:.A.py #@Software:PyCharm #@Blog:https://blog.csdn.net/qq_41800366 fromnumpyimport* matTest=mat([1,2]) print(matTest,type(matTest))#结果:[[12]]matTestToArr=matTest.A print(matTestToArr,type(matTestToArr))#结果:[[12]]
打印结果如下:
#[[12]]
#[[12]]
希望能够帮助到大家,有什么问题可以直接评论即可,喜欢有用的话可以点个赞让更多的人看到,如果不够详细的话也可以说,我会及时回复的。
以上这篇Python中flatten(),matrix.A用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。