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同时兼容python2和python3的8个技巧分享
Jul 11 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
python写一个md5解密器示例
Feb 23 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
python 调用有道api接口的方法
Jan 03 Python
基于python if 判断选择结构的实例详解
May 06 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
Python中一些深不见底的“坑”
Jun 12 Python
Django models.py应用实现过程详解
Jul 29 Python
利用Python检测URL状态
Jul 31 Python
python游戏开发Pygame框架
Apr 22 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中strtotime函数使用方法分享
2012/01/10 PHP
PHP中extract()函数的定义和用法
2012/08/17 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
JavaScript经典效果集锦
2010/07/06 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
Bootstrap中的Panel和Table全面解析
2016/06/13 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
python实现ip查询示例
2014/03/26 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
python计算日期之间的放假日期
2018/06/05 Python
Django工程的分层结构详解
2019/07/18 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
2019/08/20 Python
python 初始化一个定长的数组实例
2019/12/02 Python
Python 字典中的所有方法及用法
2020/06/10 Python
Pandas把dataframe或series转换成list的方法
2020/06/14 Python
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
SQL数据库笔试题
2016/03/08 面试题
质量工程师岗位职责
2013/11/16 职场文书
技术人员面试提纲
2013/11/28 职场文书
端午节粽子促销活动方案
2014/02/02 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
部门2014年度工作总结
2014/11/12 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript