协方差矩阵计算时出现很多0,计算协方差矩阵的特征值和特征向量时出现错误,提示数组中不可以出现NANS和INFS


'''主成分分析'''
#去中心化
#E_data=E.apply(lambda x:x.astype(float))#更改数据类型
E_p=np.mean(E,axis=0)#求出每个维度的平均值
#print('每个维度对应的平均值:\n',E_p)
E01=E-E_p#不同维度对应的数相减
#E0=np.nan_to_num(E01)
print(E01)
E0=np.split(E01,12,axis=1)#水平分割,竖着切一刀
E0=np.reshape(E0,(12,20), order = 'C')
#计算协方差
cov=np.cov(E0)
print(np.nan_to_num(cov))
#求特征值
ei=np.linalg.eig(cov)
print(ei)

求出来的协方差矩阵有很多个0,是怎么回事

img


并且报错说不能出现nans和infs

img