亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在沒有for循環的numpy 2-d數組中獲取隨機真值PER COLUMN的索引

在沒有for循環的numpy 2-d數組中獲取隨機真值PER COLUMN的索引

慕尼黑5688855 2022-10-05 16:36:10
我想使用最有效的方法(即沒有 python for 循環)在 numpy 二維數組中獲取每列隨機真值的索引。例如,給定以下 2-d numpy.ndarray:np.array(     [[True, False, False],      [True, True, True],      [False, True, False]])提供一個 1-d numpy.ndarray,它給出每列真值的隨機行索引位置(即第一軸):numpy.ndarray([0, 2, 1])通過反例,以下內容將不正確:numpy.ndarray([2, 2, 1])因為,第一列在第三行中具有非 True 值。
查看完整描述

1 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

您可以執行以下操作:


import numpy as np


a = np.array(

    [[True, False, False],

     [True, True, True],

     [False, True, False]]

)


result = np.argmax(a * np.random.randint(1, 100, size=a.shape), axis=0)

print(result)

輸出


[1 2 1]

這個想法是np.argmax將始終選擇數組所在的位置True,然后由random.randint函數完成隨機選擇哪個位置。True它將為每個值分配一個隨機整數,然后您選擇最大值的索引。


查看完整回答
反對 回復 2022-10-05
  • 1 回答
  • 0 關注
  • 80 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號