NumPy numpy.ndarray.flatten()的使用
在Python中,对于某些情况,我们需要一个一维数组而不是2-D或多维数组。为此,numpy模块提供了一个名为 numpy.ndarray.flatten() 的函数,它返回一个一维数组的副本,而不是2-D或多维数组。
语法
ndarray.flatten(order='C')
参数
order: {‘C’, ‘F’, ‘A’, ‘K’}(可选)
如果我们将order参数设置为’C’,则表示数组按行主序展平。如果设置为’F’,则表示数组按列主序展平。当’a’在内存中是Fortran连续时,并且我们将order参数设置为’A’时,数组将按列主序展平。最后的顺序是’K’,它按照元素在内存中出现的顺序展平数组。默认情况下,该参数设置为’C’。
返回值
y: ndarray
此函数返回源数组的副本,展平为一维数组。
示例1
import numpy as np
a = np.array([[1,4,7], [2,5,8],[3,6,9]])
b=a.flatten()
b
输出:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
在上面的代码中
- 我们使用别名np导入了numpy库。
- 我们使用 array() 函数创建了一个多维数组’a’。
- 我们声明了变量’b’并将 flatten() 函数的返回值赋给了’b’。
- 最后,我们尝试打印 ‘b’ 的值。
输出结果中显示了一个ndarray,其中包含了多维数组的元素并展平成1维。
示例2
import numpy as np
a = np.array([[1,4,7], [2,5,8],[3,6,9]])
b=a.flatten('C')
b
输出:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
在以上代码中
- 我们使用别名np导入了numpy库。
- 我们使用 array() 函数创建了一个多维数组’a’。
- 我们声明了变量’b’,并将 flatten() 函数的返回值赋给了它。
- 我们在函数中使用了’C’顺序。
- 最后,我们尝试打印 ‘b’ 的值。
在输出中,显示了一个ndarray,它包含了多维数组的元素转换为一维数组。
示例3
import numpy as np
a = np.array([[1,4,7], [2,5,8],[3,6,9]])
b=a.flatten('F')
b
输出:
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
示例4
import numpy as np
a = np.array([[1,4,7], [2,5,8],[3,6,9]])
b=a.flatten('A')
b
输出:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
示例5
import numpy as np
a = np.array([[1,4,7], [2,5,8],[3,6,9]])
b=a.flatten('K')
b
输出:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])