我想在矩陣中inf替換為. 附加了所需的輸出。0P
import numpy as np
P = np.array([-1.54511316e 12, -inf, -1.54511316e 12, -inf,
-inf, -inf, -inf])
所需的輸出是
array([-1.54511316e 12, 0, -1.54511316e 12, 0,
0, 0, 0])
uj5u.com熱心網友回復:
您可以結合numpy.where和numpy.isfinite:
P2 = np.where(np.isfinite(P), P, 0)
輸出:
array([-1.54511316e 12, 0.00000000e 00, -1.54511316e 12, 0.00000000e 00,
0.00000000e 00, 0.00000000e 00, 0.00000000e 00])
或者,對于就地修改:
P[~np.isfinite(P)] = 0
uj5u.com熱心網友回復:
作為一種替代方式,如果確定我們只有infs(不是nans),還有另一個 NumPy 工具np.isinf:
P[np.isinf(P)] = 0
# [-1.54511316e 12 0.00000000e 00 -1.54511316e 12 0.00000000e 00
# 0.00000000e 00 0.00000000e 00 0.00000000e 00]
這是直截了當的(恰好對于np.infs)并且不需要使用邏輯 not ~。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/471415.html
