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))
結果是
(array([1, 2, 2, 2], dtype=int32), array([2, 0, 1, 2], dtype=int32))也就是生成乙個tuple, 有兩個陣列構成。第乙個陣列是非零(false)的元素的行索引。第二個陣列是非零(false)的元素的列索引。也就是(1,2),(2,0),(2,1),(2,2)位置對應的元素非零的
索引從第0列開始,如果只比較第1列上的值:
print(test_array[:,1]>5)
[false false true]
print(np.nonzero(test_array[:,1]>5))
(array([2], dtype=int32),)
nonzero返回的還是乙個tuple元組,但是只有乙個元素
比較常用的是有兩個陣列。 根據乙個條件判斷其中乙個陣列的元素, 根據判斷結果,提取另乙個陣列的元素。這兩個陣列可以是相同的。
test_array = np.asarray([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
index_array = np.asarray([[0, 2, 0],
[0, 0, 0],
[0, 2, 2]])
例子a:找到index_array中所有第1列不為0的行,找到第0行和第2行,
從test_array中提取對應的行。
condition_index= np.nonzero( index_array [:,1] !=0 )print(condition_index)
print( test_array[condition_index] )
輸出:(array([0, 2], dtype=int32),)
[[1 2 3]
[7 8 9]]
另乙個例子:找到index_array中所有不為0的元素,找到(0,1),(2,1),(2,2). 從
test_array中提取對應行列的元素
condition_index= np.nonzero( index_array != 0 )print(condition_index)
print( test_array[condition_index] )
輸出:(array([0, 2, 2], dtype=int32), array([1, 1, 2], dtype=int32))
[2 8 9]
使用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 2jdtgsnlpnz0 10 50 90程式設計客棧 60 array 0,0,0,1,1,1,2,2,2...
CASpringAnimation使用和屬性解析
caspringanimation ios9 才引入的動畫類,它繼承於 cabaseanimation 用於製作彈簧動畫效果。首先來看乙個簡單的例子,鐘擺 如果沒有阻力,將一直搖擺下去,如下圖 如果是無摩擦力情況下,那麼就會類似於下圖的運動軌跡 在真實的世界中,系統將由於摩擦力的存在而缺少動力並最終...
mac使用和linux命令使用
command n快速開啟當前 1.cd 你的資料夾路徑的上一級目錄。2.sudo chmod r 777 你的資料夾名。3.輸入密碼。4.成功which git ren png jpg 重新命名檔案 touch nash 建立檔案 cp test test2 複製檔案 cp rv textcopt...