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

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

如何按唯一鍵拆分?jǐn)?shù)組?

如何按唯一鍵拆分?jǐn)?shù)組?

楊__羊羊 2022-01-05 10:57:47
我正在使用 min 函數(shù)找到數(shù)組“值”中的最小值。最低值為 1,其他均為 0。我有幾個描述性列變量:藥物、大小、強度、形式、時間。我想找到每個唯一鍵的最小值,而不是整個數(shù)組“值”中的最小值。我已經(jīng)嘗試為每個列變量運行循環(huán)。def min_mask(arr):    m = np.min(arr)    return np.vectorize(lambda x: x == m)(arr).astype(int)if __name__ == '__main__':    my_arr = np.array(meltDF["value"])    print(min_mask(my_arr))
查看完整描述

2 回答

?
人到中年有點甜

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊

您可以將元素與其列式分鐘進(jìn)行比較,然后將大小寫為 uint8 以節(jié)省一些空間:


>>> import numpy as np                                                                                                                                                                                                                                     

>>> np.random.seed(444)                                                                                                                                                                                                                                 

>>> arr = np.random.rand(10, 4)                                                                                                                                                                                                                         

>>> (arr == arr.min(axis=0)).astype(np.uint8)                                                                                                                                                                                                           

array([[0, 0, 0, 0],

       [1, 0, 0, 0],

       [0, 0, 0, 0],

       [0, 0, 0, 0],

       [0, 0, 0, 0],

       [0, 0, 0, 0],

       [0, 0, 0, 0],

       [0, 0, 0, 1],

       [0, 1, 0, 0],

       [0, 0, 1, 0]], dtype=uint8)

由于 NumPy 的廣播,比較arr == arr.min(axis=0)會產(chǎn)生與 的形狀相同的結(jié)果arr,即使arr.min(axis=0)會有形狀(4,)。


請注意,如果列有重復(fù)的最小值,這可能會在單個列中生成多個“1”。


查看完整回答
反對 回復(fù) 2022-01-05
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗 獲得超9個贊

這里有很多選項,例如:


1) 預(yù)先初始化掩碼并使用argmin填入合適的地方:


arr = np.random.rand(10, 4)

indices = np.argmin(arr, axis=0)

mask = np.zeros_like(arr, dtype=np.int)

mask[indices, range(len(indices))] = 1

2) Usingapply_along_axis可能是你喜歡的風(fēng)格:


def is_minimum(v):

    return v == np.min(v)


mask = np.apply_along_axis(is_minimum, axis=0, arr=arr).astype(np.int)

這些解決方案假設(shè)每一列對應(yīng)一個唯一的鍵。


查看完整回答
反對 回復(fù) 2022-01-05
  • 2 回答
  • 0 關(guān)注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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