Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python/Numpy对np.cov的方差/含义求和_Python_Numpy_Covariance_Variance - Fatal编程技术网

使用Python/Numpy对np.cov的方差/含义求和

使用Python/Numpy对np.cov的方差/含义求和,python,numpy,covariance,variance,Python,Numpy,Covariance,Variance,使用Python: 因此,我有一个名为File的数据框架,我想在其中找到其中一列“Prices”的总体差异 对于方差公式,我知道必须包含协方差 我读到np.cov将产生一个协方差矩阵。然而,当我使用它时,我没有得到矩阵(或者我认为是这样) 我的代码 np.cov(File['Prices']) 给我 array(2118322.0106797763) 然后,这个答案是否计算以下函数:Var(所有价格)=Var(价格1)+…+Var(价格N)+2[Cov(X1,X2)+…+Cov(N-1,N

使用Python:

因此,我有一个名为File的数据框架,我想在其中找到其中一列“Prices”的总体差异

对于方差公式,我知道必须包含协方差

我读到np.cov将产生一个协方差矩阵。然而,当我使用它时,我没有得到矩阵(或者我认为是这样)

我的代码

np.cov(File['Prices'])
给我

 array(2118322.0106797763)
然后,这个答案是否计算以下函数:Var(所有价格)=Var(价格1)+…+Var(价格N)+2[Cov(X1,X2)+…+Cov(N-1,N)]


那么2118322实际上是方差的总和?我希望得到的矩阵不是我实际得到的矩阵。

你只是传递一个序列,所以你得到的是一个方差

基本上,你在做一些事情,比如:

np.cov([3.4, 5.6, ..., 9.8, 4.5])
…这只会产生序列的方差

如果需要描述多个变量之间关系的协方差矩阵,则需要传入2D数组。默认情况下,
numpy.cov
需要一个
numdimensions x numsamples
数组。(这可以通过使用
rowvar=False
或仅通过传递数据的转置来更改。)

基本上是这样的:

import numpy as np

# Generate two 100-sample sequences
data = np.random.random((2, 100))

print np.cov(data)
或者使用
pandas
dataframe,只需调用
cov
方法:

import numpy as np
import pandas as pd

# Generate two 100-sample sequences
x, y = np.random.random((2, 100))
data = pd.DataFrame(dict(x=x, y=y))

# Similarly, we could have done "np.cov(data.T)", though that would yield 
# an array instead of a dataframe
print data.cov()

您不应该调用变量
文件
,它是python中的保留关键字。如果必须,请将其称为“我的文件”。您的数据帧是
pandas
dataframe吗?传递到
np.cov
的数据的形状是什么?我实际上在实际代码中称之为Catalog。好主意!这是一个好主意。数据的形状是一个大约有100000个值的序列,所以Catalog['Price']只列出了一个目录中的所有价格