python中flatten()函数用法详解
短信预约 -IT技能 免费直播动态提醒
1. 函数介绍
flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组。常用如下:
- a.flatten():a是个数组,a.flatten()就是把a降到一维,默认是按行的方向降 。
- m.flatten():m是个矩阵,降维后还是个矩阵,m.A(等效于矩阵.getA())才变成了数组。
2. 示例代码
2.1 数组(array).flatten()
>>> a = [[1,3],[2,4],[3,5]]
>>> a = array(a)
>>> a.flatten()
array([1, 3, 2, 4, 3, 5])
2.2 矩阵(mat).flatten()
>>> 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])
2.3 列表(list).flatten()
直接使用list.flatten()会出错。
>>> a = [[1,3],[2,4],["abc","def"]]
>>> a.flatten()
# 报错
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
a.flatten()
AttributeError: 'list' object has no attribute 'flatten'
建议使用:
>>> a = [[1,3],[2,4],["abc","def"]]
>>> a1 = [y for x in a for y in x]
>>> a1
[1, 3, 2, 4, 'abc', 'def']
3. 参考
【1】https://blog.csdn.net/qq_41542989/article/details/109050472
到此这篇关于python中flatten()函数用法详解的文章就介绍到这了,更多相关python flatten() 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341