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自动化工具日志查询分析脚本代码实现
Nov 26 Python
Python中操作MySQL入门实例
Feb 08 Python
Python中转换角度为弧度的radians()方法
May 18 Python
Python实现多并发访问网站功能示例
Jun 19 Python
Python处理CSV与List的转换方法
Apr 19 Python
对python的输出和输出格式详解
Dec 08 Python
Django之模型层多表操作的实现
Jan 08 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
May 08 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 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
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[03:17]2016完美“圣”典风云人物:冷冷专访
2016/12/08 DOTA
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
Python调用命令行进度条的方法
2015/05/05 Python
python操作mysql数据库
2017/03/05 Python
spyder常用快捷键(分享)
2017/07/19 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
python字典改变value值方法总结
2019/06/21 Python
基于Python解密仿射密码
2019/10/21 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
业务经理岗位职责
2013/11/11 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
Django使用channels + websocket打造在线聊天室
2021/05/20 Python
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js