numpy下的flatten()函数用法详解

 更新时间:2019年05月27日 11:52:26   作者:波比12  
这篇文章主要介绍了numpy下的flatten()函数用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 深入理解Django中内置的用户认证

    深入理解Django中内置的用户认证

    Django自带一个用户认证系统,这个系统处理用户帐户、组、权限和基于cookie的会话,下面这篇文章就来给大家介绍了关于Django中内置的用户认证的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-10-10
  • 用Python识别人脸,人种等各种信息

    用Python识别人脸,人种等各种信息

    这篇文章主要介绍了用Python识别人脸,人种等各种信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python爬虫超时的处理的实例

    python爬虫超时的处理的实例

    今天小编就为大家分享一篇python爬虫超时的处理的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python写一个简单上课点名系统(附源码)

    Python写一个简单上课点名系统(附源码)

    这篇文章主要介绍了Python写一个简单上课点名系统,文章围绕Python得性概念资料写一个简的得上课点名系统,并附上详细的代码即过程总结,需要的朋友可以参考一下,希望对你有所帮助
    2021-11-11
  • 用Python开发app后端有优势吗

    用Python开发app后端有优势吗

    在本篇文章里小编给大家整理的是关于app后端开发学PHP还是Python的先关问题内容,需要的朋友们可以参考下。
    2020-06-06
  • python实现打砖块游戏

    python实现打砖块游戏

    这篇文章主要为大家详细介绍了Python实现打砖块游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • Python使用urllib2模块实现断点续传下载的方法

    Python使用urllib2模块实现断点续传下载的方法

    这篇文章主要介绍了Python使用urllib2模块实现断点续传下载的方法,实例分析了urllib2模块的使用及断点续传下载的实现技巧,需要的朋友可以参考下
    2015-06-06
  • 一文带你了解Python中的字符串是什么

    一文带你了解Python中的字符串是什么

    通过本文带你了解Python中的字符串是什么,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Python Django 实现简单注册功能过程详解

    Python Django 实现简单注册功能过程详解

    这篇文章主要介绍了Python Django 实现简单注册功能过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python groupby函数图文详解

    Python groupby函数图文详解

    pandas中DataFrame提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作,下面这篇文章主要给大家介绍了关于Python groupby函数详解的相关资料,需要的朋友可以参考下
    2022-07-07

最新评论