主頁(yè) > 知識(shí)庫(kù) > 使用numpy nonzero 找出非0元素

使用numpy nonzero 找出非0元素

熱門標(biāo)簽:企業(yè)做大做強(qiáng) 客戶服務(wù) 語(yǔ)音系統(tǒng) 硅谷的囚徒呼叫中心 電話運(yùn)營(yíng)中心 百度AI接口 Win7旗艦版 呼叫中心市場(chǎng)需求

直接上代碼吧~

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è)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 淺談python numpy中nonzero()的用法
  • 關(guān)于numpy中np.nonzero()函數(shù)用法的詳解
  • 講解Python3中NumPy數(shù)組尋找特定元素下標(biāo)的兩種方法

標(biāo)簽:山西 喀什 山西 海南 崇左 安康 長(zhǎng)沙 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用numpy nonzero 找出非0元素》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266