我有一个nxnxn矩阵,我想循环并用1E-35替换所有值<1E-35.
for i in range(N):
for j in range(N):
for k in range(N):
if data[i][j][k] < 1E-35:
data[i][j][k] = 1E-35
Run Code Online (Sandbox Code Playgroud)
似乎没有用.
编辑:我解决了.这是缩进和不正确的索引[i] [j] [k].
问题依旧:这从NxNxN数据的0到N-1循环?当我做data.min()时,我仍然得到值~1E-101,它应该是循环后的1E-35.我做错了吗?
它看起来像你在使用numpy,在这种情况下,你可能想要np.where:
data = np.where(data < 1e-35,1e-35,data)
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用花式索引:
data[ data < 1e-35 ] = 1e-35
Run Code Online (Sandbox Code Playgroud)