numpy-reshape-flatten-multidimensional-arrays
编辑日期: 2024-11-28 文章阅读: 次
重塑和展平多维数组
本节介绍.flatten()
,ravel()
有两种常用的展平数组的方法:.flatten()
和.ravel()
。
两者之间的主要区别在于,使用ravel()
创建的新数组实际上是对父数组的引用(即“视图”)。这意味着对新数组的任何更改也将影响父数组。因为ravel不创建拷贝,所以它的内存效率很高。
如果从这个数组开始:
>>> x = np.array([[1 , 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
>>> x.flatten()
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
>>> a1 = x.flatten()
>>> a1[0] = 99
>>> print(x) # Original array
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
>>> print(a1) # New array
[99 2 3 4 5 6 7 8 9 10 11 12]
>>> a2 = x.ravel()
>>> a2[0] = 98
>>> print(x) # Original array
[[98 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
>>> print(a2) # New array
[98 2 3 4 5 6 7 8 9 10 11 12]
NumPy入门系列教程:
1 NumPy介绍
8 数组形状和大小
9 重塑array
10 如何将一维array转换为二维array(如何向数组添加新轴)
11 NumPy索引和切片
12 如何从现有数据创建数组
13 数组基本操作
14 广播
15 更有用的数组操作
16 生成随机数
17 获得唯一元素和出现次数
18 变换和重塑矩阵
19 如何反转数组