numpy.ravel
numpy.ravel(a,order='C ' ) [source]
返回连续的平面数组。
返回包含输入元素的一维数组。 仅在必要时复制。
从NumPy 1.10开始,返回的数组与输入数组类型相同。 例如,遮罩数组的输入将返回遮罩数组。 参数: a :array_like
输入数组。 a的要素按指定顺序读取。
把它打包成一维数组。
订单:“c”、“f”、“a”、“k”}、选项
使用此索引顺序读取a的元素。 ' c '表示以行为为主的c风格的索引要素,
最后一个轴索引更改最快,返回第一个轴索引最慢。
' f '表示按Fortran样式的列优先级对元素进行索引。
第一个索引更改得最快,
上次索引更改最慢。
请注意,“c”和“f”选项不考虑基本数组的内存布局。
只与轴索引的顺序有关。 ' a '表示如果a在内存中是连续的,则为、
按索引顺序(如Fortran )读取元素,否则按c顺序读取。
' k '表示按顺序读取内存中的元素,除非幻灯片为负时反转数据。
默认情况下,使用' c '索引顺序。
返回值: y :array_like
y是与a具有相同子类型的数组,其形状为(a.size,)。
请注意,矩阵在特殊情况下是向后兼容的。 a为矩阵时
y是一维的nd阵列。
诺特斯
在二维中,按照行优先的c样式顺序,行索引变化最快,列索引变化最快。 这可以归纳为多个维度。 行优先级意味着沿第一个轴的索引变化最快,沿最后一个轴的索引变化最快。 在以列为中心的Fortran样式的索引排序中则相反。
如果希望在尽可能多的情况下获得视图,建议使用arr.reshape(-1 )。
范例
这相当于reshape(-1,order=order )。 x=NP.array ([ 1,2,3 ],[ 4,5,6 ] ) )
是NP.ravel(x )
array ([ 1,2,3,4,5,6 ] ) (x.reshape(-1 ) ) ) ) ) ) ) ) )。
array (1,2,3,4,5,6 ) ) (np.ravel(x ) x,order='F ' ) ) ) ) ) ) np.ravel(x,order='F ' ) ) ) ) ) ) ) ) ) )。
array ([ 1,4,2,5,3,6 ]
如果order为' a ',则数组的' c '或' f '顺序:保留NP.ravel(x.t )
array ([ 1,4,2,5,3,6 ]
NP.Ravel(x.t,order='A ' ) ) ) ) ) ) ) ) ) )。
array ([ 1,2,3,4,5,6 ]
如果订单为“k”,则保留既不是“c”也不是“f”的顺序,但不会反转旋转轴: a=NP.arange(3(33603360-1 ); a
array ([ 2,1,0 ] ) ) )。
a.ravel(order='c ' ) )。
array ([ 2,1,0 ] ) ) )。
a.ravel(order='k ' ) )。
array (2,1,0 ) ) a=NP.arange ) 12 ).reshape ) 2,3,2 ).swapaxes ) 1,2 ); a
array ([ 0,2,4 ],
[ 1,3,5 ],
[ 6,8,10 ],
[ 7,9,11 ] )
a.ravel(order='c ' ) )。
array ([ 0,2,4,1,3,5,6,8,10,7,9,11 ]
a.ravel(order='k ' ) )。
array ([ 0,1,2,3,4,5,6,7,8,9,10,11 ]