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...