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之总结参数的传递
Oct 10 Python
Python日志模块logging简介
Apr 13 Python
Python中的测试模块unittest和doctest的使用教程
Apr 14 Python
Python中super关键字用法实例分析
May 28 Python
Python中的super()方法使用简介
Aug 14 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
pthon贪吃蛇游戏详细代码
Jan 27 Python
Python实现钉钉订阅消息功能
Jan 14 Python
python线程join方法原理解析
Feb 11 Python
python使用opencv resize图像不进行插值的操作
Jul 05 Python
python如何删除列为空的行
Jul 17 Python
Python面试不修改数组找出重复的数字
May 20 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对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
这段js代码得节约你多少时间
2011/12/20 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
微信小程序 input输入框详解及简单实例
2017/01/10 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
Python中max函数用法实例分析
2015/07/17 Python
Python检测网络延迟的代码
2018/05/15 Python
python实现俄罗斯方块游戏
2020/03/25 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
python中的句柄操作的方法示例
2019/06/20 Python
德国家具在线:Fashion For Home
2017/03/11 全球购物
Talbots官网:美国成熟女装品牌
2019/11/15 全球购物
优秀的自荐信要注意哪些
2014/01/03 职场文书
政工例会汇报材料
2014/08/26 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
2014年护士个人工作总结
2014/11/11 职场文书