我认为您必须检查data.corr(),因为您的代码是正确的,并且给出了诊断(见下文)。一个问题是:您使用np.triu,但是您显示的图片显示np.tirl。在
这里是我测试过的代码-对角线在那里:N = 5
A = np.arange(N*N).reshape(N,N)
B = np.tril(A)
mask =np.zeros_like(A)
mask[np.triu_indices_from(mask)] = True
print('A'); print(A); print()
print('tril(A)'); print(B); print()
print('mask'); print(mask); print()
给予
^{pr2}$
编辑:supelement
你可以把面具修好C = A *mask
D = np.where(C > 1, 1,C)
print('D'); print(D)
给予D
[[0 1 1 1 1]
[0 1 1 1 1]
[0 0 1 1 1]
[0 0 0 1 1]
[0 0 0 0 1]]
现在D的对角线的第一个元素是0,因为a的对角线的第一个元素也是零。在
编辑:suplement 2F = np.tril(A,-1)
E = np.eye(N)
G = E + F
print('F'); print(F); print()