使用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))
第一個array為x軸 第二個array為y軸
補(bǔ)充:【Numpy學(xué)習(xí)】python查找矩陣中不為0元素的索引(np.nonzero())
在用矩陣分解方法做模型時,需要對模型的結(jié)果做驗證。
在驗證過程中需要mask訓(xùn)練集、驗證集和測試集。
這時候就需要原矩陣S SS中不為0元素和為0元素的索引值,這個方法在matlab中是find方法,在用python實現(xiàn)時就需要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)輸出的是兩個array第一個array中的值指的是行,第二個指的是列。
如0,1表明第0行第一列的值不為0。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python基礎(chǔ)之字符串常見操作經(jīng)典實例詳解
這篇文章主要介紹了Python基礎(chǔ)之字符串常見操作,結(jié)合實例形式詳細(xì)分析了Python字符串操作基本函數(shù)、功能、使用方法及操作注意事項,需要的朋友可以參考下2020-02-02
python面向?qū)ο蠓▽崿F(xiàn)圖書管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python面向?qū)ο蠓▽崿F(xiàn)圖書管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04
Python+unittest+requests 接口自動化測試框架搭建教程
這篇文章主要介紹了Python+unittest+requests 接口自動化測試框架搭建教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Python THREADING模塊中的JOIN()方法深入理解
這篇文章主要介紹了Python THREADING模塊中的JOIN()方法深入理解,本文用簡潔易懂的語言總結(jié)了對JOIN()方法的理解,不同于其它文章,需要的朋友可以參考下2015-02-02

