第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在沒有循環(huán)的情況下找到二維數(shù)組中匹配行的索引(一次)

在沒有循環(huán)的情況下找到二維數(shù)組中匹配行的索引(一次)

猛跑小豬 2023-02-07 16:54:15
我想從二維數(shù)組 a 中找到多個匹配行a = np.array([[2, 1],          [3, 3],          [4, 6],          [4, 8],          [4, 7],          [4, 3]])我必須搜索以下條目 b = np.array([[4,6],          [4,7]])我知道我可以遍歷 b 并執(zhí)行以下操作for i in range(len(b)) :   print(np.where(np.all(a==b[i],axis=1))[0])我得到關(guān)注[2][4]我可以不使用任何循環(huán)直接獲取 [[2],[4]]嗎?
查看完整描述

2 回答

?
皈依舞

TA貢獻1851條經(jīng)驗 獲得超3個贊

如果你想要索引,你通常會使用arg_xargmax和這樣的函數(shù)argwhere。np.argwhere如果您能弄清楚如何傳遞正確的布爾值列表,這里將為您提供索引。你可以用np.isin()做到這一點:

a = np.array([[2, 1],

          [3, 3],

          [4, 6],

          [4, 8],

          [4, 7],

          [4, 3]])


b = np.array([[4,6], [4,7]])


np.argwhere(np.isin(a, b).all(axis=1))

哪個返回:


array([[2],

       [4]])


查看完整回答
反對 回復 2023-02-07
?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

這應該是一個快速的解決方案,注意到兩對具有相同的第一個坐標:


np.where((a[:, 0] == 4) & ((a[:, 1] == 6) | (a[:, 1] == 7)))  

# Out:

# (array([2, 4]),)

表達方式


print((a[:, 0] == 4) & ((a[:, 1] == 6) | (a[:, 1] == 7)))                                    


[False False  True False  True False] 


查看完整回答
反對 回復 2023-02-07
  • 2 回答
  • 0 關(guān)注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號