为什么 Numpy Diag 函数的行为很奇怪?
Why does the Numpy Diag function behaves weird?
diag 函数不会将结果保存到变量。
import numpy as np
A = np.random.rand(4,4)
d = np.diag(A)
print d
# above gives the diagonal entries of A
# let us change one entry
A[0, 0] = 0
print d
# above gives updated diagonal entries of A
为什么 diag 函数以这种方式运行?
np.diag
returns一个查看到原数组。这意味着以后对原始数组的更改会反映在视图中。 (但是,好处是该操作比创建副本快得多。)
请注意,这只是某些版本的 numpy 中的行为。在其他情况下,返回副本。
到"freeze"的结果,可以像d = np.diag(A).copy()
一样复制
diag 函数不会将结果保存到变量。
import numpy as np
A = np.random.rand(4,4)
d = np.diag(A)
print d
# above gives the diagonal entries of A
# let us change one entry
A[0, 0] = 0
print d
# above gives updated diagonal entries of A
为什么 diag 函数以这种方式运行?
np.diag
returns一个查看到原数组。这意味着以后对原始数组的更改会反映在视图中。 (但是,好处是该操作比创建副本快得多。)
请注意,这只是某些版本的 numpy 中的行为。在其他情况下,返回副本。
到"freeze"的结果,可以像d = np.diag(A).copy()