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 中文乱码问题深入分析
Mar 13 Python
一波神奇的Python语句、函数与方法的使用技巧总结
Dec 08 Python
python解决网站的反爬虫策略总结
Oct 26 Python
Python面向对象之继承和多态用法分析
Jun 08 Python
python向字符串中添加元素的实例方法
Jun 28 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
Python3开发环境搭建详细教程
Jun 18 Python
通过代码实例了解Python sys模块
Sep 14 Python
Python模拟登录和登录跳转的参考示例
Oct 30 Python
Python3.9.1中使用match方法详解
Feb 08 Python
pycharm无法导入lxml的解决办法
Mar 31 Python
python基础之//、/与%的区别详解
Jun 10 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中的正规表达式(一)
2006/10/09 PHP
使用Sphinx对索引进行搜索
2013/06/25 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
php实现的简单日志写入函数
2015/03/31 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python list语法学习(带例子)
2013/11/01 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
分享vim python缩进等一些配置
2018/07/02 Python
python 运用Django 开发后台接口的实例
2018/12/11 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
Python shutil模块用法实例分析
2019/10/02 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
GAP欧盟网上商店:GAP EU
2016/09/13 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
项目管理计划书
2014/01/09 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
给老婆道歉的话
2015/01/20 职场文书
python munch库的使用解析
2021/05/25 Python
Golang解析JSON对象
2022/04/30 Golang