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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
Django中传递参数到URLconf的视图函数中的方法
Jul 18 Python
Python Sqlite3以字典形式返回查询结果的实现方法
Oct 03 Python
python executemany的使用及注意事项
Mar 13 Python
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
Dec 14 Python
python如何给字典的键对应的值为字典项的字典赋值
Jul 05 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
Python类中的魔法方法之 __slots__原理解析
Aug 26 Python
Pytorch Tensor 输出为txt和mat格式方式
Jan 03 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 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 PDOStatement::getColumnMeta讲解
2019/02/01 PHP
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
JavaScript 学习初步 入门教程
2010/03/25 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
浅谈js原生拖放
2016/11/21 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
2019/10/31 Javascript
JS实现小星星特效
2019/12/24 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
python实现下载整个ftp目录的方法
2017/01/17 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
应届生骨科医生求职信
2013/10/31 职场文书
车间组长岗位职责
2013/12/20 职场文书
2016年国陪研修感言
2015/11/18 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers