本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。