numpy 實現返回指定行的指定元素的位置索引

2022-09-29 05:30:12 字數 1266 閱讀 8939

先上**,主要語句為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...