numpy數(shù)組不同索引方式有什么區(qū)別

這篇“numpy數(shù)組不同索引方式有什么區(qū)別”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“numpy數(shù)組不同索引方式有什么區(qū)別”文章吧。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作與策劃設(shè)計,安丘網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務涵蓋:安丘等地區(qū)。安丘做網(wǎng)站價格咨詢:18980820575

numpy數(shù)組一般有三種索引方式:

基礎(chǔ)索引與切片

布爾索引

神奇索引

三種方法都可截取原數(shù)組中的部分數(shù)據(jù),但是使用的時候在本質(zhì)上卻有區(qū)別,尤其是在處理大量數(shù)據(jù)時,不弄清索引本質(zhì),會導致最后預測結(jié)果不準確。

基礎(chǔ)索引與切片

先上代碼:

import numpy as np

arr = np.arange(25).reshape(5,5)

arr

arr1 = arr[:3]

arr1

arr1[1] = -1

arr

大家可以從上面的結(jié)果中發(fā)現(xiàn),將arr前3行賦值給arr1,然后將arr1的第2行的數(shù)值改為-1,最后arr也發(fā)生了改變。原因是在基礎(chǔ)索引中,返回的只是原數(shù)組的視圖,而不是復制原數(shù)組,任何對于視圖的修改,都會影響原數(shù)組。

解決方法,利用ndarray自帶方法copy(),復制原數(shù)組。

arr = np.arange(25).reshape(5,5)

arr

arr1 = arr.copy()

arr1[1]=-1

arr

布爾索引

先上代碼:

bool_ = [True,False,True,False,False]

arr1 = arr[bool_]

arr1

arr1[1]=-1

arr

可以發(fā)現(xiàn),布爾索引并未出現(xiàn)類似問題,因為利用布爾值索引時,總是生成數(shù)據(jù)的拷貝,所以改變選擇數(shù)據(jù),對原數(shù)組沒有影響。

神奇索引

index = [3,4,1,2]

arr1 = arr[index]

arr1

arr1[1]=-1

arr

神奇索引和布爾索引一樣,選擇數(shù)據(jù)的改變也不會影響原數(shù)組。

以上就是關(guān)于“numpy數(shù)組不同索引方式有什么區(qū)別”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享文章:numpy數(shù)組不同索引方式有什么區(qū)別
URL標題:http://muchs.cn/article6/ihdpig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化域名注冊、虛擬主機關(guān)鍵詞優(yōu)化、服務器托管外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司