主頁 > 知識(shí)庫 > Numpy中的ravel_multi_index函數(shù)用法說明

Numpy中的ravel_multi_index函數(shù)用法說明

熱門標(biāo)簽:廣告地圖標(biāo)注app 海南400電話如何申請(qǐng) 白銀外呼系統(tǒng) 激戰(zhàn)2地圖標(biāo)注 公司電話機(jī)器人 騰訊外呼線路 唐山智能外呼系統(tǒng)一般多少錢 哈爾濱ai外呼系統(tǒng)定制 陜西金融外呼系統(tǒng)

最近遇到了ravel_multi_index這個(gè)函數(shù),官方文檔看不明白,Google了一番好不容易才從一堆示例代碼里理解函數(shù)的意義,記錄一下。

官方文檔在這

這個(gè)函數(shù)主要功能為把給定的一個(gè)多維數(shù)組(函數(shù)的第一個(gè)參數(shù))看作索引數(shù)組,索引什么呢?去索引一個(gè)形狀為dims(函數(shù)的第二個(gè)參數(shù)),值為依次增大的自然數(shù)的數(shù)組中的值(可看做由list(range(N))的數(shù)組reshape(dims)而來),意義即為用一個(gè)唯一的一維數(shù)來定位(保存)原數(shù)組的二維(或多維(i,j,k,…))的數(shù)對(duì)的信息。

把文檔里的示例代碼貼一下來解釋:

>>> arr = np.array([[3,6,6],[4,5,1]])
>>> np.ravel_multi_index(arr, (7,6))
array([22, 41, 37])
>>> np.ravel_multi_index(arr, (7,6), order='F')
array([31, 41, 13])
>>> np.ravel_multi_index(arr, (4,6), mode='clip')
array([22, 23, 19])
>>> np.ravel_multi_index(arr, (4,4), mode=('clip','wrap'))
array([12, 13, 13])
>>> np.ravel_multi_index((3,1,4,1), (6,7,8,9))
1621

示例中arr即為要轉(zhuǎn)換的多維數(shù)組,把a(bǔ)rr的內(nèi)容當(dāng)作索引,即[3,6,6]為橫坐標(biāo),[4,5,1]為縱坐標(biāo),去索引形狀為(7,6),內(nèi)容為從0開始,從左往右,從上往下依次增大的自然數(shù)的數(shù)組中的值。

例如第一個(gè)要索引的數(shù)[3,4]即為(7,6)數(shù)組中第4行,第5列的的值,即為3*6+4=22,即為結(jié)果中的第一個(gè)數(shù)。依次類推。

了解函數(shù)功能后,其他參數(shù)具體可見官方文檔說明。

補(bǔ)充:numpy.unravel_index 與 numpy.ravel_multi_index的理解

遇到numpy.ravel_multi_index 與numpy.unravel_index 這兩個(gè)函數(shù),查了網(wǎng)上的很多資料 都沒講的很清楚,記錄一下。

這兩個(gè)函數(shù)是相對(duì)應(yīng)的:

numpy.unravel_index(indices, shape, order='C')

其中indices是表示一個(gè)一維數(shù)組的index,將這個(gè)一維數(shù)組轉(zhuǎn)換成大小為shape([col, row])shape矩陣決定了轉(zhuǎn)變后得到的數(shù)組的行和列的大小,進(jìn)而得到index在新的二維矩陣 中的行index 和列index 其中order決定先是行index,還是先是列index 'C'先是列index 再是行index ‘F'先是行index 再是列index

 np.unravel_index([22, 41, 37], (7,6))
(array([3, 6, 6]), array([4, 5, 1]))

numpy.ravel_multi_index是numpy.unravel_index反過來的過程,

numpy.ravel_multi_index(multi_index, dims, mode='raise', order='C')

根據(jù)multi_index中不同數(shù)組代表的具體的索引,以及該數(shù)組的dims的大小 ,得到將該數(shù)組flat成一維數(shù)組 數(shù)據(jù)在一位數(shù)組中的位置。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • numpy返回array中元素的index方法
  • Python numpy 常用函數(shù)總結(jié)
  • 詳解python中的index函數(shù)用法
  • Pandas之MultiIndex對(duì)象的示例詳解

標(biāo)簽:益陽 常德 惠州 黔西 上海 四川 鷹潭 黑龍江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Numpy中的ravel_multi_index函數(shù)用法說明》,本文關(guān)鍵詞  Numpy,中的,ravel,multi,index,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Numpy中的ravel_multi_index函數(shù)用法說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于Numpy中的ravel_multi_index函數(shù)用法說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章