gpt4 book ai didi

python - 使用 Python/Numpy 求和/np.cov 的含义

转载 作者:行者123 更新时间:2023-11-30 23:29:33 24 4
gpt4 key购买 nike

使用Python:

所以我有一个名为 File 的 DataFrame,我想在其中查找其中一列“价格”的总体方差。

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

我读到 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])

...这只是产生序列的方差。

如果您想要一个描述多个变量之间关系的协方差矩阵,则需要传入一个二维数组。默认情况下,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 数据帧,只需调用 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 - 使用 Python/Numpy 求和/np.cov 的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21101768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com