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将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
Pyspider中给爬虫伪造随机请求头的实例
May 07 Python
Python交互式图形编程的实现
Jul 25 Python
python实现两个文件夹的同步
Aug 29 Python
python 实现矩阵按对角线打印
Nov 29 Python
Python接口测试结果集实现封装比较
May 01 Python
Python自动创建Excel并获取内容
Sep 16 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 Python
python模拟点击玩游戏的实例讲解
Nov 26 Python
浅谈Python列表嵌套字典转化的问题
Apr 07 Python
Python 数据结构之十大经典排序算法一文通关
Oct 16 Python
Python 数据可视化之Bokeh详解
Nov 02 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数组及条件,循环语句学习
2012/11/11 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
js计数器代码
2006/11/04 Javascript
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
python实现汉诺塔递归算法经典案例
2021/03/01 Python
django_orm查询性能优化方法
2018/08/20 Python
Python连接Redis的基本配置方法
2018/09/13 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
使用Html5多媒体实现微信语音功能
2019/07/26 HTML / CSS
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
实习生单位鉴定意见
2013/12/04 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
物业品质提升方案
2014/06/08 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
优秀员工事迹材料
2014/12/20 职场文书
银行员工考核评语
2014/12/31 职场文书