题解 | 计算协方差矩阵
计算协方差矩阵
https://www.nowcoder.com/practice/063d5b379be447a5aa12f2aa2d05717e
import numpy as np
def calculate_covariance_matrix(vectors):
n_features, n_obser = len(vectors), len(vectors[0])
covar_matrix = [[0]*n_features for _ in range(n_features)]
mus = [sum(vector)/n_obser for vector in vectors]
for i in range(n_features):
vectors[i] = [v-mus[i] for v in vectors[i]]
for i in range(n_features):
for j in range(n_features):
covar_matrix[i][j] = sum(v*u for v, u in zip(vectors[i], vectors[j]))/(n_obser-1)
return covar_matrix
# 主程序
if __name__ == "__main__":
# 输入
ndarrayA = input()
# 处理输入
import ast
A = ast.literal_eval(ndarrayA)
# 调用函数计算
output = calculate_covariance_matrix(A)
# 输出结果
print(output)



