numpy下的flatten()函数用法详解


Posted in Python onMay 27, 2019

flatten是numpy.ndarray.flatten的一个函数,其官方文档是这样描述的:

ndarray.flatten(order='C')

Return a copy of the array collapsed into one dimension.

Parameters:

  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'.
Returns: y : ndarray A copy of the input array, flattened to one dimension.

即返回一个折叠成一维的数组。但是该函数只能适用于numpy对象,即array或者mat,普通的list列表是不行的。

例子:

1、用于array对象

from numpy import *
 
>>>a=array([[1,2],[3,4],[5,6]]) ###此时a是一个array对象
>>>a
array([[1,2],[3,4],[5,6]])
>>>a.flatten()
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]])<br>>>> a.flatten()<br>matrix([[1, 2, 3, 4, 5, 6]])<br>

3、但是该方法不能用于list对象

>>> a=[[1,2,3],[4,5,6],['a','b']]
[[1, 2, 3], [4, 5, 6], ['a', 'b']]
>>> a.flatten()      ###报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'flatten'

想要list达到同样的效果可以使用列表表达式:

>>> [y for x in a for y in x]
[1, 2, 3, 4, 5, 6, 'a', 'b']

4、用在矩阵

>>> a = [[1,3],[2,4],[3,5]]
>>> a = mat(a)
>>> y = a.flatten()
>>> y
matrix([[1, 3, 2, 4, 3, 5]])
>>> y = a.flatten().A
>>> y
array([[1, 3, 2, 4, 3, 5]])
>>> shape(y)
(1, 6)
>>> shape(y[0])
(6,)
>>> y = a.flatten().A[0]
>>> y
array([1, 3, 2, 4, 3, 5])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python脚本生成Android SALT扰码的方法
Sep 18 Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
Pycharm以root权限运行脚本的方法
Jan 19 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
如何使用python切换hosts文件
Apr 29 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
python3 中时间戳、时间、日期的转换和加减操作
Jul 14 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
详解numpy的argmax的具体使用
May 27 #Python
numpy.random模块用法总结
May 27 #Python
Django框架自定义session处理操作示例
May 27 #Python
numpy concatenate数组拼接方法示例介绍
May 27 #Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
May 27 #Python
python安装numpy和pandas的方法步骤
May 27 #Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
May 27 #Python
You might like
理解php Hash函数,增强密码安全
2011/02/25 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
PHP安全上传图片的方法
2015/03/21 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
Angular ng-animate和ng-cookies用法详解
2018/04/18 Javascript
基于Vue2x的图片预览插件的示例代码
2018/05/14 Javascript
Vue2.2.0+新特性整理及注意事项
2018/08/22 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
公司新员工的演讲稿注意事项
2014/01/01 职场文书
个人评价范文分享
2014/01/11 职场文书
公司拓展活动方案
2014/02/13 职场文书
2014学年自我鉴定
2014/02/23 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
施工安全保证书
2015/05/09 职场文书
员工试用期工作总结
2019/06/20 职场文书