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

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

一種在二維數組 Python 中編輯元素的簡單方法:

一種在二維數組 Python 中編輯元素的簡單方法:

繁花不似錦 2023-04-25 16:10:14
如果滿足條件,我希望能夠對二維數組中的特定元素執行操作。在下面的示例中,代碼使任何值 < 0.5 = 0。有誰知道這樣做的簡單方法?下面是我的代碼,但我確信有更簡單的方法。import numpy as npx = 5y = 5x3 = np.random.rand(x,y)def choice(arr):    row = -1    column = -1    for i in arr:        row += 1        for j in i:            column += 1            if j >= 0.5:                arr[row,column] = j            else:                arr[row,column] = 0                            if column == y - 1:                column = -1        return arry3 = choice(x3.copy())
查看完整描述

2 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

要將所有 < 0.5 的索引歸零,


>>> x3 = np.random.rand(5, 5)

>>> x3

array([[0.50866152, 0.56821455, 0.88531855, 0.36596337, 0.08705278],

       [0.96215686, 0.19553668, 0.15948972, 0.20486815, 0.74759719],

       [0.36269356, 0.54718917, 0.66196524, 0.82380099, 0.77739482],

       [0.0431448 , 0.47664036, 0.80188153, 0.8099637 , 0.65258638],

       [0.84862179, 0.22976325, 0.03508076, 0.72360136, 0.76835819]])

>>> x3[x3 < .5] = 0

>>> x3

array([[0.50866152, 0.56821455, 0.88531855, 0.        , 0.        ],

       [0.96215686, 0.        , 0.        , 0.        , 0.74759719],

       [0.        , 0.54718917, 0.66196524, 0.82380099, 0.77739482],

       [0.        , 0.        , 0.80188153, 0.8099637 , 0.65258638],

       [0.84862179, 0.        , 0.        , 0.72360136, 0.76835819]])


查看完整回答
反對 回復 2023-04-25
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

僅針對枚舉和三元條件介紹,您可以執行以下操作:


import numpy as np


x = 5

y = 5


x3 = np.random.rand(x,y)


def choice(arr):

    for row_idx, row in enumerate(arr):

        for col_idx, val in enumerate(row) :

            arr[row_idx,col_idx] = val if val >= 0.5 else 0

    return arr


y3 = choice(x3.copy())

但是 AKX 解決方案更好。


查看完整回答
反對 回復 2023-04-25
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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