numpy使用技巧之?dāng)?shù)組過濾實例代碼
本文研究的主要是numpy使用技巧之?dāng)?shù)組過濾的相關(guān)內(nèi)容,具體如下。
當(dāng)使用布爾數(shù)組b作為下標(biāo)存取數(shù)組x中的元素時,將收集數(shù)組x中所有在數(shù)組b中對應(yīng)下標(biāo)為True的元素。使用布爾數(shù)組作為下標(biāo)獲得的數(shù)組不和原始數(shù)組共享數(shù)據(jù)空間,注意這種方式只對應(yīng)于布爾數(shù)組(array),不能使用布爾列表(list)。
>>> x = np.arange(5,0,-1) >>> x array([5, 4, 3, 2, 1]) >>> x[np.array([True, False, True, False, False])] >>> # 下標(biāo)為True的取出來,布爾數(shù)組中下標(biāo)為0,2的元素為True,因此獲取x中下標(biāo)為0,2的元素 array([5, 3]) >>> x[[True, False, True, False, False]]#Error,這不是我們想要的結(jié)果 >>> # 如果是布爾列表,則把True當(dāng)作1, False當(dāng)作0,按照整數(shù)序列方式獲取x中的元素 array([4, 5, 4, 5, 5]) >>> x[np.array([True, False, True, True])] >>> # 布爾數(shù)組的長度不夠時,不夠的部分都當(dāng)作False array([5, 3, 2]) >>> x[np.array([True, False, True, True])] = -1, -2, -3#只修改下標(biāo)為True的元素 >>> # 布爾數(shù)組下標(biāo)也可以用來修改元素 >>> x array([-1, 4, -2, -3, 1])
注意:布爾數(shù)組一般不是手工產(chǎn)生的,通常我們使用一條布爾表達(dá)式來得到,如:
>>> x = np.random.rand(10) # 產(chǎn)生一個長度為10,元素值為0-1的隨機(jī)數(shù)的數(shù)組
>>> x
array([ 0.72223939, 0.921226 , 0.7770805 , 0.2055047 , 0.17567449,
0.95799412, 0.12015178, 0.7627083 , 0.43260184, 0.91379859])
>>> x>0.5
>>> # 數(shù)組x中的每個元素和0.5進(jìn)行大小比較,得到一個布爾數(shù)組,True表示x中對應(yīng)的值大于0.5
array([ True, True, True, False, False, True, False, True, False, True], dtype=bool)
>>> x[x>0.5]# x>0.5是一個布爾數(shù)組
>>> # 使用x>0.5返回的布爾數(shù)組收集x中的元素,因此得到的結(jié)果是x中所有大于0.5的元素的數(shù)組
array([ 0.72223939, 0.921226 , 0.7770805 , 0.95799412, 0.7627083 ,
0.91379859])
總結(jié)
以上就是本文關(guān)于numpy使用技巧之?dāng)?shù)組過濾實例代碼的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
python基于mysql實現(xiàn)的簡單隊列以及跨進(jìn)程鎖實例詳解
這篇文章主要介紹了python基于mysql實現(xiàn)的簡單隊列以及跨進(jìn)程鎖,需要的朋友可以參考下2014-07-07
tensorflow使用CNN分析mnist手寫體數(shù)字?jǐn)?shù)據(jù)集
這篇文章主要介紹了tensorflow使用CNN分析mnist手寫體數(shù)字?jǐn)?shù)據(jù)集,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06
Python tkinter實現(xiàn)圖片標(biāo)注功能(完整代碼)
tkinter是Python下面向tk的圖形界面接口庫,可以方便地進(jìn)行圖形界面設(shè)計和交互操作編程,本文通過實例代碼給大家介紹的Python tkinter實現(xiàn)圖片標(biāo)注功能,感興趣的朋友一起看看吧2019-12-12
Django url,從一個頁面調(diào)到另個頁面的方法
今天小編就為大家分享一篇Django url,從一個頁面調(diào)到另個頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08

