使用numpy nonzero 找出非0元素

2022-09-28 18:51:15 字數 969 閱讀 4936

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 2jdtgsnlpnz0 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軸

補充:【numpy學習】python查詢矩陣中不為0元素的索引(np.nonzero())

在用矩陣分解方法做模型時,需要對模型的結果做驗證。

在驗證過程中需要mask訓練集、驗證集和測試集。

這時候就需要原矩陣s ss中不為0元素和為0元素的索引值,這個方法在matlab中是find方法,在用python實現時就需要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)輸出的是兩個arr程式設計客棧ay第乙個array中的值指的是行,第二個指的是列。

如0,1表明第0行第一列的值不為0。

本文標題: 使用numpy nonzero 找出非0元素

本文位址: /jiaoben/python/392733.html

numpy nonzero 使用和簡單的索引方式

test array np.asarray 1,2,3 4,5,6 7,8,9 print test array 5 輸出結果是 false false false false false true true true true print np.nonzero test array 5 結果是 a...

使用 perldoc 找文件

一旦你有個包含了整個串的變數,你可以使用正規表示式,對整個檔案進行操作,而不是對檔案中的某個塊進行操作。有兩個有用的正規表示式標記 s和 m。一般,perl的 正規表示式對行進行處理,你可以這樣寫 undef line if line b.grass 如果把我們的檔案填入如下內容 browngras...

找錯 const的使用

include int main 1 在 的第13行,由於變數x為整型常量,因此不能改變x的值。在這裡會出現編譯錯誤,並提示 l value specifies const object 也就是說,等號左邊的是常量物件。如果在 第5行沒有給x初始化,那麼x就是乙個隨機數,並且以後也不能給它賦值了。2...