NumPy ndarray.flatten() 函数返回折叠成一维的数组的副本。使用该函数的语法如下:
语法
numpy.ndarray.flatten(order='C')
参数
order | 可选。 指定顺序。它可以从 {'C', 'F', 'A', 'K'} 中获取值。默认值为"C"。
|
返回值
返回输入数组的副本,并展平为一维。
示例:具有类似 C 索引排序的 flatten()
默认情况下,flatten 函数使用行主(C 风格)顺序。考虑下面的示例。
import numpy as np
arr = np.array([[1,2,3],[4,5,6]])
#展平数组
Narr = arr.flatten(order='C')
print("原始数组:")
print(arr)
print("\n展平后的数组:")
print(Narr)
上述代码的输出将是:
原始数组:
[[1 2 3]
[4 5 6]]
展平后的数组:
[1 2 3 4 5 6]
示例:具有类似 F 索引排序的 flatten()
要按列主(Fortran 样式)顺序展平数组,请使用 order='F'。考虑下面的示例。
import numpy as np
arr = np.array([[1,2,3],[4,5,6]])
#展平数组
Narr = arr.flatten(order='F')
print("原始数组:")
print(arr)
print("\n展平后的数组:")
print(Narr)
上述代码的输出将是:
原始数组:
[[1 2 3]
[4 5 6]]
展平后的数组:
[1 4 2 5 3 6]
示例:带有 order='K' 的 flatten()
当 order='K' 时,它将保留顺序,但不反转轴。有关更多详细信息,请参阅下面的示例。
import numpy as np
arr = np.arange(12).reshape(3,2,2).swapaxes(1,2);
print("原始数组:")
print(arr)
#使用 order='C' 进行展平
print("\nFlattened Array (axis='C'):")
print(arr.flatten(order='C'))
#使用 order='K' 进行展平
print("\nFlattened Array (axis='K'):")
print(arr.flatten(order='K'))
上述代码的输出将是:
原始数组:
[[[ 0 2]
[ 1 3]]
[[ 4 6]
[ 5 7]]
[[ 8 10]
[ 9 11]]]
Flattened Array (axis='C'):
[ 0 2 1 3 4 6 5 7 8 10 9 11]
Flattened Array (axis='K'):
[ 0 1 2 3 4 5 6 7 8 9 10 11]