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 相关文章推荐
Anaconda多环境多版本python配置操作方法
Sep 12 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
Python格式化日期时间操作示例
Jun 28 Python
Python判断中文字符串是否相等的实例
Jul 06 Python
PyQt5实现简易计算器
May 30 Python
Python3实现计算两个数组的交集算法示例
Apr 03 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
python基于Selenium的web自动化框架
Jul 14 Python
Python使用qrcode二维码库生成二维码方法详解
Feb 17 Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 Python
Python ini文件常用操作方法解析
Apr 26 Python
Python collections.deque双边队列原理详解
Oct 05 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
常用星际术语索引(新手指南)
2020/03/04 星际争霸
ajax实现无刷新分页(php)
2010/07/18 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
vue 微信授权登录解决方案
2018/04/10 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python求列表交集的方法汇总
2014/11/10 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
执行Python程序时模块报错问题
2020/03/26 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
如何利用python 读取配置文件
2021/01/06 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
性能测试工程师的面试题
2015/02/20 面试题
遗产继承公证书
2014/04/09 职场文书
企业安全生产标语
2014/06/06 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
团队拓展训练心得体会
2016/01/12 职场文书