Numpy ravel() 函数
Numpy ravel() 函数通过提供一个包含与输入相同元素但只有一个维度的一维数组来返回一个扁平化数组。
与 flatten() 函数相比,ravel() 函数尽可能返回输入数组的扁平化视图,如果输入数组不连续,则返回其副本。
对于某些操作,ravel() 函数的内存效率更高。它接受一个 order 参数,该参数可以是 'C'、'F'、'A' 或 'K',用于指定展开数组中元素的所需顺序。
语法
Numpy ravel() 函数的语法如下:-
numpy.ravel(a, order='C')
参数
以下是 Numpy ravel() 函数的参数:-
- a (array_like): 根据顺序,'a' 中的元素将按行优先(C 风格)或列优先(Fortran 风格)顺序读取参数。
- order: {'C', 'F', 'A', 'K'},可选:指定读取元素的顺序。
- 'C':行优先(C 风格)顺序。
- 'F':列优先(Fortran 风格)顺序。
- 'A':如果数组以行优先内存顺序存储,则为行优先顺序,否则为列优先顺序。
- 'K':元素按其在内存中出现的顺序读取,但当步长为负时,数据会反转。
返回值
此函数返回一个一维数组,其中包含输入数组的元素,并以扁平化顺序排列。
示例1
以下是 Numpy ravel() 函数的示例,展示了 ravel() 的基本用法,即将二维数组按行主序展平为一维数组。
import numpy as np # 创建二维数组 array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # 展平数组 flattened_array = np.ravel(array_2d) print("原始数组: ") print(array_2d) print("展平数组:") print(flattened_array)
输出
原始数组: [[1 2 3] [4 5 6]] 展平数组:[1 2 3 4 5 6]
示例 2
本示例演示如何使用 numpy.ravel() 函数将三维数组展平为一维数组,并遵循默认的行主序。
import numpy as np # 创建三维数组 array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) # 展平数组 flattened_array_3d = np.ravel(array_3d) print("原始 3D 数组: ") print(array_3d) print("扁平化数组:") print(flattened_array_3d)
输出
原始 3D 数组: [[[1 2] [3 4]] [[5 6] [7 8]]] 扁平化数组:[1 2 3 4 5 6 7 8]