2 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
由于某些技術(shù)原因,矢量化邏輯運(yùn)算要求使用按位運(yùn)算符。因此,您的條件組合將寫為:
>>> idx = np.isnan(A) | (B < 0.3 - C) | (B > 0.7 + C)
>>> D[idx] = np.nan
>>> D
array([[ 1., nan, nan, nan, nan],
[nan, nan, nan, nan, nan],
[nan, nan, 1., nan, nan],
[nan, nan, nan, 1., nan]])
(B是)
>>> B
array([[0.5363705 , 0.20608309, 0.60937827, 0.94685545, 0.80861546],
[0.1716229 , 0.89674041, 0.39352757, 0.84573667, 0.87769432],
[0.97621636, 0.81509133, 0.3808146 , 0.84032838, 0.07871174],
[0.11719543, 0.38021362, 0.76113843, 0.70157337, 0.66438894]])

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
僅以矢量形式編寫您提到的條件將是:
ind=(np.isnan(A)) + (B<0.3-C)*(B>0.7+C)
D[ind]=np.nan
添加回答
舉報(bào)