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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
Python入门篇之列表和元组
Oct 17 Python
Python2.7简单连接与操作MySQL的方法
Apr 27 Python
python re模块findall()函数实例解析
Jan 19 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
python3 kmp 字符串匹配的方法
Jul 07 Python
python3.7 使用pymssql往sqlserver插入数据的方法
Jul 08 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
python中使用input()函数获取用户输入值方式
May 03 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
Aug 03 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
Aug 07 Python
Jupyter Notebook安装及使用方法解析
Nov 12 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解析html的实现代码
2011/08/08 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
jQuery对指定元素中指定字符串进行替换的方法
2015/03/17 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python中设置变量访问权限的方法
2015/04/27 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
python创造虚拟环境方法总结
2019/03/04 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
出纳员的岗位职责
2014/02/22 职场文书
铲车司机岗位职责
2014/03/15 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
详解thinkphp的Auth类认证
2021/05/28 PHP
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
Python中itertools库的四个函数介绍
2022/04/06 Python