本文简要介绍 python 语言中 numpy.ravel
的用法。
用法:
numpy.ravel(a, order='C')
返回一个连续的展平数组。
返回一个包含输入元素的一维数组。仅在需要时制作副本。
从 NumPy 1.10 开始,返回的数组将与输入数组具有相同的类型。 (例如,对于屏蔽数组输入,将返回屏蔽数组)
- a: array_like
输入数组。 a 中的元素按 order 指定的顺序读取,并打包为一维数组。
- order: {'C','F','A','K'},可选
使用此索引顺序读取 a 的元素。 “C”表示以行主、C 样式顺序对元素进行索引,最后一个轴索引变化最快,回到第一个轴索引变化最慢。 “F”表示按列主序、Fortran-style 顺序对元素进行索引,第一个索引变化最快,最后一个索引变化最慢。请注意,“C”和“F”选项不考虑底层数组的内存布局,仅涉及轴索引的顺序。 ‘A’ 表示如果 a 在内存中是 Fortran 连续的,则按 Fortran-like 索引顺序读取元素,否则按 C-like 顺序读取。 “K”表示按照元素在内存中出现的顺序读取元素,但当步幅为负时反转数据除外。默认情况下,使用“C”索引顺序。
- y: array_like
y 是与以下子类型相同的数组a,有形状
(a.size,)
.请注意,矩阵是特殊情况下的向后兼容性,如果a是一个矩阵,那么 y 是一个一维 ndarray。
参数:
返回:
注意:
在行优先、C 风格顺序中,在二维中,行索引变化最慢,列索引变化最快。这可以推广到多个维度,其中行主顺序意味着沿第一个轴的索引变化最慢,而沿最后一个轴的索引变化最快。对于列主序 Fortran-style 索引排序则相反。
当在尽可能多的情况下需要视图时,
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, 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])
当
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])
相关用法
- Python numpy ravel_multi_index用法及代码示例
- Python numpy random.mtrand.RandomState.wald用法及代码示例
- Python numpy random.mtrand.RandomState.multivariate_normal用法及代码示例
- Python numpy random.standard_exponential用法及代码示例
- Python numpy random.mtrand.RandomState.gumbel用法及代码示例
- Python numpy random.mtrand.RandomState.multinomial用法及代码示例
- Python numpy random.rand用法及代码示例
- Python numpy random.mtrand.RandomState.logistic用法及代码示例
- Python numpy random.mtrand.RandomState.shuffle用法及代码示例
- Python numpy random.triangular用法及代码示例
- Python numpy random.noncentral_f用法及代码示例
- Python numpy random.mtrand.RandomState.poisson用法及代码示例
- Python numpy random.lognormal用法及代码示例
- Python numpy random.mtrand.RandomState.seed用法及代码示例
- Python numpy random.mtrand.RandomState.triangular用法及代码示例
- Python numpy random.gumbel用法及代码示例
- Python numpy random.mtrand.RandomState.weibull用法及代码示例
- Python numpy random.shuffle用法及代码示例
- Python numpy random.geometric用法及代码示例
- Python numpy random.multinomial用法及代码示例
- Python numpy rate用法及代码示例
- Python numpy random.logseries用法及代码示例
- Python numpy random.mtrand.RandomState.rand用法及代码示例
- Python numpy random.mtrand.RandomState.power用法及代码示例
- Python numpy random.mtrand.RandomState.randint用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.ravel。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。