numpy 實(shí)現(xiàn)返回指定行的指定元素的位置索引
先上代碼,主要語(yǔ)句為np.where(b[c]==1),
詳細(xì)解釋如下:
import numpy as np
b = np.array([[-2,-3,0,0,0,6,4,1],[88,1,0,0,0,6,4,2],[99,6,0,0,1,6,4,2]]) # 三行八列的數(shù)組b
print('b\n',b)
c = np.array([2,0]) # c表示指定行
print('b[c]\n',b[c]) # b[c]返回 數(shù)組b的指定行 這里依次返回了b的下標(biāo)為2和0的行
print('\n')
print(np.where(b[c]==1)) # 返回指定行的指定元素的位置索引 這里返回了b[c]每行中 值為1的位置索引

觀(guān)察np.where()的返回值(array([0, 1], dtype=int64), array([4, 7], dtype=int64))可以發(fā)現(xiàn),
對(duì)于數(shù)組b[c]來(lái)說(shuō),其中值為1的位置在[0,4]以及[1,7]上,np.where()返回了一個(gè)元組,[0]的位置表示行索引,[1]表示列索引。
綜上,np.where(b[c]==1)實(shí)現(xiàn)的功能是,從b中按c中元素的順序找到c所指定的行,然后再這些行中發(fā)現(xiàn)值為1的位置。
補(bǔ)充:短小精悍算例:Python如何提取數(shù)組Numpy array中指定元素的位置索引
數(shù)組a的表達(dá)式如下:
import numpy as np a = np.array([1, 2, 3, 2, 2, 3, 0, 8, 3]) print(a)
輸出結(jié)果:
[1 2 3 2 2 3 0 8 3]
現(xiàn)在要找出a中元素3的位置索引。
r1 = np.where(a==3) print(type(r1)) print(r1)
輸出結(jié)果:
<class 'tuple'>
(array([2, 5, 8], dtype=int64),)
可見(jiàn)得到的是一個(gè)tuple。
如果要想得到array,采用如下表示:
r1 = np.where(a==3) print(type(r1[0])) print(r1[0])
輸出結(jié)果:
<class 'numpy.ndarray'>
[2 5 8]
還可以使用argwhere()函數(shù)進(jìn)行操作:
r2 = np.argwhere(a==3) print(type(r2)) print(r2) print(r2.shape)
輸出結(jié)果:
<class 'numpy.ndarray'>
[[2]
[5]
[8]]
(3, 1)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
python中判斷數(shù)字是否為質(zhì)數(shù)的實(shí)例講解
在本篇文章里小編給大家分享了關(guān)于python中判斷數(shù)字是否為質(zhì)數(shù)的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-12-12
如何利用Python實(shí)現(xiàn)一個(gè)論文降重工具
文章去重(或叫網(wǎng)頁(yè)去重)是根據(jù)文章(或網(wǎng)頁(yè))的文字內(nèi)容來(lái)判斷多個(gè)文章之間是否重復(fù),下面這篇文章主要給大家介紹了關(guān)于利用Python實(shí)現(xiàn)論文降重工具的相關(guān)資料,需要的朋友可以參考下2021-07-07
python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息
這篇文章主要介紹了python使用requests模塊實(shí)現(xiàn)爬取電影天堂最新電影信息,本文通過(guò)實(shí)例代碼給大家介紹了str/list/tuple三者之間怎么相互轉(zhuǎn)換,需要的朋友可以參考下2019-04-04
selenium如何定位span元素的實(shí)現(xiàn)
這篇文章主要介紹了selenium如何定位span元素的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Python圖形化界面基礎(chǔ)篇之如何使用彈出窗口和對(duì)話(huà)框
對(duì)于Python程序員來(lái)說(shuō),處理彈出窗口似乎并不是一個(gè)常見(jiàn)的任務(wù),這篇文章主要給大家介紹了關(guān)于Python圖形化界面基礎(chǔ)篇之如何使用彈出窗口和對(duì)話(huà)框的相關(guān)資料,需要的朋友可以參考下2024-03-03
LyScript實(shí)現(xiàn)繞過(guò)反調(diào)試保護(hù)的示例詳解
LyScript插件中內(nèi)置的方法可實(shí)現(xiàn)各類(lèi)反調(diào)試以及屏蔽特定API函數(shù)的功能,這類(lèi)功能在應(yīng)對(duì)病毒等惡意程序時(shí)非常有效。本文為大家提供了LyScript實(shí)現(xiàn)繞過(guò)反調(diào)試保護(hù)的示例代碼,感興趣的可以了解一下2022-08-08
基于SpringBoot構(gòu)造器注入循環(huán)依賴(lài)及解決方式
這篇文章主要介紹了基于SpringBoot構(gòu)造器注入循環(huán)依賴(lài)及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04

