原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.ravel.html
校对:(虚位以待)
numpy.
ravel
(a, order='C')[source]返回一个连续的扁平数组。
返回包含输入元素的1-D数组。只有在需要时才进行复印。
从NumPy 1.10开始,返回的数组将具有与输入数组相同的类型。(例如,将为掩蔽的数组输入返回掩蔽的数组)
参数: | a:array_like
订单:{'C','F','A','K'},可选
|
---|---|
返回: | y:array_like
|
也可以看看
ndarray.flat
ndarray.flatten
ndarray.reshape
笔记
在行主,C样式顺序中,在二维中,行索引变化最慢,列索引最快。这可以被推广到多个维度,其中行主要顺序意味着沿着第一轴的索引变化最慢,并且索引沿着最后最快。相反,列主键,Fortran风格索引排序。
当在尽可能多的情况下需要视图时,arr.reshape(-1)
可能是优选的。
例子
它等效于reshape(-1, order = order)
。
>>> x = np.array([[1, 2, 3], [4, 5, 6]])
>>> print(np.ravel(x))
[1 2 3 4 5 6]
>>> print(x.reshape(-1))
[1 2 3 4 5 6]
>>> print(np.ravel(x, order='F'))
[1 4 2 5 3 6]
当order
为'A'时,它将保留数组的'C'或'F'顺序:
>>> print(np.ravel(x.T))
[1 4 2 5 3 6]
>>> print(np.ravel(x.T, order='A'))
[1 2 3 4 5 6]
当order
为'K'时,它将保留既不是“C”也不是“F”的顺序,但不会反转轴:
>>> a = np.arange(3)[::-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])