Python中flatten( )函数及函数用法详解

中( )函数及函数用法详解

更新时间是2018年11月02日, 具体时间是11点31分21秒, 作者是。

它是numpy这个里边的一个函数, 意思就是它会返回得到一个一维的数组。这篇文章的主要事情是给大家介绍了里面那个括号里的这个函数啊, 有需要想了解的朋友可以直接看下去进行参考。

()函数用法

是numpy里面的一个函数, 也就是返回了一个一维的数组。

这种做法, 它仅仅能够适用于那些numpy这样的对象去进行操作。所谓的这种对象, 主要是指array这种或者mat这种形式。而对于那些普通的、常规的list列表而言, 是不适用这种方法的。

a.这里面的()表示的是a是一个数组, 然后a.()的作用就是把它降低到一个维度, 意思就是说默认按照行的方向去进行降维处理。

a.()。

在A这个位置的情况是, a本来是一个矩阵对象, 在对它进行维度降低这个操作之后, 结果仍然保持为一个矩阵的状态, 接着去调用这个矩阵对象的A属性, 这个行为在效果上是等同于直接调用这个矩阵对象的getA这个方法, 最终得到的返回结果是变成了一个数据组的形式, 具体的表现情况可以参考下面所展示出来的这个例子:

1、用于array(数组)对象

brush:py; 复制代码

>>> from numpy import *

>>> a=array(\[1,2,3,4,5,6])

>>> a

array(\[1, 2,

3, 4,

5, 6])

>>> a.flatten() #默认按行的方向降维

array(1, 2, 3, 4, 5, 6)

>>> a.flatten('F') #按列降维

array(1, 3, 5, 2, 4, 6)

>>> a.flatten('A') #按行降维

array(1, 2, 3, 4, 5, 6)

>>>

2、用于mat(矩阵)对象

brush:py; 复制代码

>>> a=mat(\[1,2,3,4,5,6])

>>> a

matrix(\[1, 2, 3,

4, 5, 6])

>>> a.flatten()

matrix(\[1, 2, 3, 4, 5, 6])

>>> a=mat(\[1,2,3,4,5,6])

>>> a

matrix(\[1, 2, 3,

4, 5, 6])

>>> a.flatten()

matrix(\[1, 2, 3, 4, 5, 6])

>>> y=a.flatten().A

>>> shape(y)

(1L, 6L)

>>> shape(y0)

(6L,)

>>> a.flatten().A0

array(1, 2, 3, 4, 5, 6)

>>>

从中可以看出A的用法是怎么样的, 还有矩阵发生了哪些变化。

3、但是, 该方法不能用于列表这种类型的对象。如果想要让列表也能够达到同样的那种效果的话, 你可以使用列表推导式这种方式来试试看哦。

brush:py; 复制代码

>>> a=array(\[1,2,3,4,5,6])

>>> y for x in a for y in x

1, 2, 3, 4, 5, 6

>>>

!

请大家接着观看一下中文部分的实际使用办法。

一、它是被用在数组里面的。

brush:py; 复制代码

>>> a = \[1,3,2,4,3,5]

>>> a = array(a)

>>> a.flatten()

array(1, 3, 2, 4, 3, 5)

二、把这个内容拿来放入那个列表里面。

要是直接把那个给定的函数拿去用的话, 肯定会出错的。

brush:py; 复制代码

>>> a = \[1,3,2,4,3,5]

>>> a.flatten()

Traceback (most recent call last):

File "", line 1, in

a.flatten()

AttributeError: 'list' object has no attribute 'flatten'

正确的用法

brush:py; 复制代码

>>> a = \[1,3,2,4,3,5,"abc","def"]

>>> a1 = y for x in a for y in x

>>> a1

1, 3, 2, 4, 3, 5, 'abc', 'def'

或者, 这个意思是不太能够被清楚地知晓的。

brush:py; 复制代码

>>> a = \[1,3,2,4,3,5,"abc","def"]

>>> flatten = lambda x: y for l in x for y in flatten(l) if type(x) is list else x

>>> flatten(a)

1, 3, 2, 4, 3, 5, 'abc', 'def'

三、用在矩阵

brush:py; 复制代码

>>> 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(y0)

(6,)

>>> y = a.flatten().A0

>>> y

array(1, 3, 2, 4, 3, 5)

总结

上面所写出来的内容, 是小编给各位朋友介绍的那个括号里面带着字符的中函数的详细说明, 并且还有函数应该怎么用的详细解释, 希望这些内容可以对各位朋友们起到一些帮助的作用,如果各位朋友们在看了之后还是有什么搞不明白的地方或者是存在任何疑问的话, 那就请你在评论区那里留下留言给小编看, 小编会在第一时间就回复大家的消息的, 在这里也真的非常非常感谢大家对脚本之家这个网站提供的支持与帮忙。

相关推荐
xbzb15 分钟前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
合尘猫4 小时前
图片表格变结构化数据:OCR 后的三个坑
python·ocr
小小张说故事4 小时前
Python 里弱引用到底弱在哪:拆开 weakref.ref、回调陷阱和 WeakValueDictionary
python
用户019027581614 小时前
用 DuckDB 存查 A 股 K 线:零服务、SQL 直接分析
python
程序员果子5 小时前
本体构建方法
人工智能·python·知识图谱·agent框架·本体
天天被压力6 小时前
【A股分钟级高频数据完全手册 #11】券商实时行情数据接口:实时交易(券商源)接入与字段
java·人工智能·python
总裁余(余登武)6 小时前
【python项目】:1操作EXCEl自动化开发
python·自动化·excel
芝梵家电数据笔记6 小时前
用字段表核对暖菜板长期使用条件:结构、暖区、质保边界
python·家电·数据校验·dataclass·选购
天天被压力6 小时前
【A股分钟级高频数据完全手册 #12】股票五档盘口数据接口:买卖五档实时盘口解析
java·人工智能·python