NumPy ravel() 函数返回一个连续的扁平数组。使用该函数的语法如下:
语法
numpy.ravel(a, order='C')
参数
a | 必填。 指定输入数组。 |
order | 可选。 指定顺序。使用此索引顺序读取数组的元素。它可以采用四个可能的值。默认值为"C"。
|
返回值
返回一个连续的扁平化数组,其数据类型与输入数组相同,且形状等于 (a.size ,)。
示例:ravel() 具有类似 C 的索引排序
默认情况下,ravel 函数使用行主(C 风格)顺序。考虑下面的示例。
import numpy as np
arr = np.array([[1,2,3],[4,5,6]])
print("原始数组:")
print(arr)
#解开数组
Narr = np.ravel(arr, order='C')
print("\nRaveled Array:")
print(Narr)
上述代码的输出将是:
原始数组:
[[1 2 3]
[4 5 6]]
Raveled Array:
[1 2 3 4 5 6]
示例:具有类似 F 索引排序的 ravel()
要按列主(Fortran 样式)顺序排列数组,请使用 order='F'。考虑下面的示例。
import numpy as np
arr = np.array([[1,2,3],[4,5,6]])
print("原始数组:")
print(arr)
#解开数组
Narr = np.ravel(arr, order='F')
print("\nRaveled Array:")
print(Narr)
上述代码的输出将是:
原始数组:
[[1 2 3]
[4 5 6]]
Raveled Array:
[1 4 2 5 3 6]
示例:ravel() with order='K'
当 order='K' 时,它将保留顺序,但不反转轴。有关更多详细信息,请参阅下面的示例。
import numpy as np
arr = np.arange(12).reshape(3,2,2).swapaxes(1,2);
print("原始数组:")
print(arr)
#ravel 使用 order='C'
print("\nRaveled Array (axis='C'):")
print(np.ravel(arr, order='C'))
#ravel 使用 order='K'
print("\nRaveled Array (axis='K'):")
print(np.ravel(arr, order='K'))
上述代码的输出将是:
原始数组:
[[[ 0 2]
[ 1 3]]
[[ 4 6]
[ 5 7]]
[[ 8 10]
[ 9 11]]]
Raveled Array (axis='C'):
[ 0 2 1 3 4 6 5 7 8 10 9 11]
Raveled Array (axis='K'):
[ 0 1 2 3 4 5 6 7 8 9 10 11]