Python Numpy协方差矩阵Numpy.cov

Python Numpy协方差矩阵Numpy.cov,python,matlab,numpy,sympy,covariance,Python,Matlab,Numpy,Sympy,Covariance,我正在使用numpy,想计算一个数组的协方差矩阵。我正在尝试使用numpy.cov(),但没有得到正确的结果。更多详情见下文 我的ndarray是768x8,其中8是数据集中的数字功能 当我使用MATLAB计算协方差矩阵时,我得到了一个8x8(这是我所需要的),但是当我使用np.cov()时,我得到了一个768x768,这是不正确的。我尝试将rowvar参数更改为true,但这不起作用 对numpy.cov()的正确调用是什么?换句话说,我将如何使用numpy从MATLAB复制cov()结果。令

我正在使用numpy,想计算一个数组的协方差矩阵。我正在尝试使用numpy.cov(),但没有得到正确的结果。更多详情见下文

我的ndarray是768x8,其中8是数据集中的数字功能

当我使用MATLAB计算协方差矩阵时,我得到了一个8x8(这是我所需要的),但是当我使用np.cov()时,我得到了一个768x768,这是不正确的。我尝试将rowvar参数更改为true,但这不起作用

对numpy.cov()的正确调用是什么?换句话说,我将如何使用numpy从MATLAB复制cov()结果。

令人惊讶的是,可能会告诉您。您应该传递
rowvar=False
,以指示列表示变量

>>> data.shape
(768, 8)
>>> numpy.cov(data, rowvar=False).shape
(8, 8)

谢谢你指出这一点。我确实参考了文档,但没有意识到rowvar的默认值是True(而不是False)!如果将转置传递给numpy.cov,则应生成8 X 8矩阵。