先上**,主要語句為np.where(b[c]==1),
import numpy as np
b = np.array([[-2,-3,0,0,0,6,4,1],[88,1,0,0,0,6,4,2],[99,6,0,0,1,6,4,2]]) # 三行八列的陣列b
print('b\n',b)
c = np.array([2,0]) www.cppcns.com # c表示指定行
print('b[c]\n',b[c]) # b[c]返回 陣列b的指定行 這裡依次返回了b的下標為2和0的行
print('\n')
print(np.where(b[c]==1)) # 返回指定行的指定元素的位置索引 這裡返回了b[c]每行中 值為1的位置索引
觀察np.where()的返回值(array([0, 1], dtype=int64), array([4, 7], dtype=int64))可以發現,
對於陣列b[c]來說,其中值為1的位置在[0,4]以及[1,7]上,np.where()返回了乙個元組,[0]的位置表示行索引,[1]表示列索引。
綜上,np.where(b[c]==1)實現的功能是,從b中按c中元素的順序找到c所指定的行,然後再這些行中發現值為1的位置。
補充:短小精悍算例:python如何提取陣列numpy array中指定元素的位置索引
import numpy as np
a = np.array([1, 2, 3, 2, 2, 3, 0, 8, 3])
print(a)
輸出結果:
[1 2 3 2 2 3 0 8 3]
r1 = np.where(a==3)
print(type(r1))程式設計客棧
print(r1)
輸出結果:
(array([2, 5, 8], dtypexkfas=int64),)
可見得到的是乙個tuplxkfase。
r1 = np.where(a==3)
print(type(r1[0]))
print(r1[0])
輸出結果:
[2 5 8]
r2 = np.argwhere(a==3)
print(type(r2))
p程式設計客棧rint(r2)
print(r2.shape)
輸出結果:
[[2]
[5][8]]
(3, 1)
本文標題: numpy 實現返回指定行的指定元素的位置索引
本文位址:
shell awk讀取檔案中的指定行的指定字段
awk指定讀取檔案中的某一行的某個字段 awk 可以設定條件來輸出檔案中m行到n行中每行的指定的k欄位,使用格式如下 awk nr m,nr n path filename m,n,k表示實在的數值。如果要用變數來表示m,n的值,則變數需要用單引號將其引起來。nr,是awk命令在此用法下的規定字段 ...
SHELL 在指定行的前 後插入指定內容
如果知道行號可以用下面的方法 sed i 88 r b.file a.file 在a.txt的第88行插入檔案b.txt awk 1 nr 88 a.file a.file 如果不知道行號,可以用正則匹配 sed i regex r b.txt a.txt regex是正規表示式 awk targe...
C DataGridView刪除指定行
恢復內容開始 最近有乙個關於datagridview刪除指定行的小問題困擾著,問題是這樣的 datagridview匯入乙個xls 如下圖 現在想將以上 資料插入資料庫,之前是想每成功插入一行資料就在datagridview裡刪除一行 即讓這行不顯示 沒有成功插入的不刪除 即顯示在datagridv...