使用numpy nonzero 找出非0元素
直接上代碼吧~
import numpy as np a = np.array([[30,40,70],[80,20,10],[50,90,60]]) print(a) print(np.nonzero(a)) [[30 40 70] [80 20 10] [50 90 60]] (array([0, 0, 0, 1, 1, 1, 2, 2, 2], dtype=int64), array([0, 1, 2, 0, 1, 2, 0, 1, 2], dtype=int64))
第一個(gè)array為x軸 第二個(gè)array為y軸
補(bǔ)充:【Numpy學(xué)習(xí)】python查找矩陣中不為0元素的索引(np.nonzero())
在用矩陣分解方法做模型時(shí),需要對(duì)模型的結(jié)果做驗(yàn)證。
在驗(yàn)證過(guò)程中需要mask訓(xùn)練集、驗(yàn)證集和測(cè)試集。
這時(shí)候就需要原矩陣S SS中不為0元素和為0元素的索引值,這個(gè)方法在matlab中是find方法,在用python實(shí)現(xiàn)時(shí)就需要np.nonzero()。
下面看一段代碼:
import numpy as np a = np.arange(12).reshape(3, 4) print(a) [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] print(np.nonzero(a)) (array([0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]))
值得注意的是np.nonzero(a)輸出的是兩個(gè)array第一個(gè)array中的值指的是行,第二個(gè)指的是列。
如0,1表明第0行第一列的值不為0。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用python對(duì)oracle進(jìn)行簡(jiǎn)單性能測(cè)試
這篇文章主要介紹了用python對(duì)oracle進(jìn)行簡(jiǎn)單性能測(cè)試的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12
Python基礎(chǔ)之字符串常見(jiàn)操作經(jīng)典實(shí)例詳解
這篇文章主要介紹了Python基礎(chǔ)之字符串常見(jiàn)操作,結(jié)合實(shí)例形式詳細(xì)分析了Python字符串操作基本函數(shù)、功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-02-02
python面向?qū)ο蠓▽?shí)現(xiàn)圖書管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python面向?qū)ο蠓▽?shí)現(xiàn)圖書管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Python StrEnum基本概念和使用場(chǎng)景分析
StrEnum是Python枚舉家族的一個(gè)強(qiáng)大補(bǔ)充,特別適合處理字符串常量,它結(jié)合了枚舉的類型安全性和字符串的靈活性,使得在許多場(chǎng)景下的編程變得更加簡(jiǎn)潔和安全,本文將介紹StrEnum的基本概念和使用場(chǎng)景,并通過(guò)示例代碼來(lái)展示它的實(shí)際應(yīng)用,感興趣的朋友跟隨小編一起看看吧2024-07-07
Python+unittest+requests 接口自動(dòng)化測(cè)試框架搭建教程
這篇文章主要介紹了Python+unittest+requests 接口自動(dòng)化測(cè)試框架搭建教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Python THREADING模塊中的JOIN()方法深入理解
這篇文章主要介紹了Python THREADING模塊中的JOIN()方法深入理解,本文用簡(jiǎn)潔易懂的語(yǔ)言總結(jié)了對(duì)JOIN()方法的理解,不同于其它文章,需要的朋友可以參考下2015-02-02

