Python的numpy模块提供了一个名为numpy.ravel的函数,该函数用于将二维数组或多维数组更改为连续的扁平数组。返回的数组与源数组或输入数组具有相同的数据类型。如果输入数组是掩码数组,则返回的数组也将是掩码数组。
numpy.ravel(x, order='C')
x:array_like
此参数定义输入数组,我们要在连续的展平数组中对其进行更改。数组元素按照order参数指定的顺序读取,并打包为一维数组。
order:{'C','F','A','K'}(可选)
如果将order参数设置为'C',则意味着该数组以行优先顺序变平。如果设置为" F",则数组将按列优先顺序展平。仅当" A"在内存中是连续的,并且当我们将order参数设置为" A"时,才按列优先顺序对数组进行展平。最后一个顺序是" K",它以与元素在内存中出现的顺序相同的方式展平数组。默认情况下,此参数设置为" C"。
此函数返回与输入数组相同数据类型的连续扁平数组,其形状等于( x.size )。
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y
输出:
array([ 1, 3, 5, 11, 35, 56])
在上面的代码中
在输出中,该数组的值以连续的展平数组形式显示。
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y = np.ravel(x, order='F') z = np.ravel(x, order='C') p = np.ravel(x, order='A') q = np.ravel(x, order='K') y z p q
输出:
array([ 1, 11, 3, 35, 5, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56])
import numpy as np x = np.arange(12).reshape(3,2,2).swapaxes(1,2) x y=np.ravel(a, order='C') y z=np.ravel(a, order='K') z q=np.ravel(a, order='A') q
输出:
array([[[ 0, 2], [ 1, 3]], [[ 4, 6], [ 5, 7]], [[ 8, 10], [ 9, 11]]]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11]) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11])
在上面的代码中
在输出中,该数组的值以连续的展平数组形式显示。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)