Python中flatten( ),matrix.A用法说明


Posted in Python onJuly 05, 2020

flatten()函数用法

flatten是numpy.ndarray.flatten的一个函数,即返回一个折叠成一维的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的。

其官方文档是这样描述的

Parameters:

ndarray.flatten(order='C') Return a copy of the array collapsed into one dimension. 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'.

a是个矩阵或者数组,a.flatten()就是把a降到一维,默认是按横的方向降

那么a.flatten().A又是什么呢? 其实这是因为此时的a是个矩阵,降维后还是个矩阵,矩阵.A(等效于矩阵.getA())变成了数组。具体看下面的例子:

1、用于array对象

>>> from numpy import *
>>> 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]])
>>> [y for x in a for y in x]
[1, 2, 3, 4, 5, 6]
>>>

完美实现!!

补充知识:python中矩阵.A是什么意思?

1. 概述

在numpy中矩阵我们十分常用,但有时候我们会将矩阵转化为数组,方法很简单,直接在矩阵名后加 .A 即可。

2. 演示

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2019/2/21 19:13
# @Author : Arrow and Bullet
# @FileName: .A.py
# @Software: PyCharm
# @Blog :https://blog.csdn.net/qq_41800366
from numpy import *

matTest = mat([1, 2])
print(matTest, type(matTest)) # 结果:[[1 2]] <class 'numpy.matrixlib.defmatrix.matrix'>

matTestToArr = matTest.A
print(matTestToArr, type(matTestToArr)) # 结果:[[1 2]] <class 'numpy.ndarray'>

打印结果如下:

# [[1 2]] <class 'numpy.matrixlib.defmatrix.matrix'>

# [[1 2]] <class 'numpy.ndarray'>

希望能够帮助到大家,有什么问题可以 直接评论即可,喜欢有用的话可以点个赞让更多的人看到,如果不够详细的话也可以说,我会及时回复的。

以上这篇Python中flatten( ),matrix.A用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现list反转实例汇总
Nov 11 Python
Python中处理unchecked未捕获异常实例
Jan 17 Python
Python和JavaScript间代码转换的4个工具
Feb 22 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
python 拼接文件路径的方法
Oct 23 Python
Python docx库用法示例分析
Feb 16 Python
python实现自动化上线脚本的示例
Jul 01 Python
Python如何实现动态数组
Nov 02 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
解决Python中的modf()函数取小数部分不准确问题
May 28 Python
Python道路车道线检测的实现
Jun 27 Python
python线性插值解析
Jul 05 #Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 #Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 #Python
Django --Xadmin 判断登录者身份实例
Jul 03 #Python
详解Python多线程下的list
Jul 03 #Python
Python 字符串池化的前提
Jul 03 #Python
Pycharm打开已有项目配置python环境的方法
Jul 03 #Python
You might like
PHP 文件扩展名 获取函数
2009/06/03 PHP
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
php中return的用法实例分析
2015/02/28 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
Egret引擎开发指南之发布项目
2014/09/03 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
AngularJS语法详解
2015/01/23 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
Python urlopen 使用小示例
2008/09/06 Python
python类继承与子类实例初始化用法分析
2015/04/17 Python
Python中的ctime()方法使用教程
2015/05/22 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
优秀护士获奖感言
2014/02/20 职场文书
服务质量承诺书
2014/03/27 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
酒会邀请函
2015/01/31 职场文书
个人先进事迹总结
2015/02/26 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
windows系统安装配置nginx环境
2022/06/28 Servers