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 相关文章推荐
python3实现全角和半角字符转换的方法示例
Sep 21 Python
python编写分类决策树的代码
Dec 21 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
Jul 27 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
Feb 21 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
Python selenium自动化测试模型图解
Apr 15 Python
Python异常处理机制结构实例解析
Jul 23 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的几个常用数字判断函数代码
2012/04/24 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
拥抱模块化的JavaScript
2012/03/07 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
node之本地服务器图片上传的方法示例
2019/03/26 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
python数据结构树和二叉树简介
2014/04/29 Python
Python面向对象编程之继承与多态详解
2018/01/16 Python
Django实现组合搜索的方法示例
2018/01/23 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
Django框架反向解析操作详解
2019/11/28 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
python2 对excel表格操作完整示例
2020/02/23 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
应届大学生的推荐信
2013/11/20 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
会计顶岗实习心得
2014/01/25 职场文书
军人违纪检讨书
2014/02/04 职场文书
校园安全广播稿
2014/02/08 职场文书
党组织公开承诺书
2014/03/29 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python