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 log 的正确打开方式
Apr 28 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
python+PyQT实现系统桌面时钟
Jun 16 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
如何利用Python识别图片中的文字
May 31 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
基于Python的一个自动录入表格的小程序
Aug 05 Python
Python实现Kerberos用户的增删改查操作
Dec 14 Python
Python的信号库Blinker用法详解
Dec 31 Python
基于python+selenium自动健康打卡的实现代码
Jan 13 Python
Linux系统下升级pip的完整步骤
Jan 31 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 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
PHP编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
javascrpt密码强度校验函数详解
2020/03/18 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
python3.5仿微软计算器程序
2020/03/30 Python
Python数据结构之翻转链表
2017/02/25 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
python实现XML解析的方法解析
2019/11/16 Python
keras中的卷积层&amp;池化层的用法
2020/05/22 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
高中课程设置方案
2014/05/28 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
廉政承诺书
2015/01/19 职场文书
详解Python中的进程和线程
2021/06/23 Python
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL