如何使用 Pandas 中的 Series.cov() 方法查找协方差?

pandasserver side programmingprogramming更新于 2025/5/18 0:22:17

Pandas 中的 Series.cov() 方法用于通过排除 null/NA 或缺失值来计算该 Series 与其他 Series 的协方差。

协方差是一种计算两个随机变量之间关系的方法,它会告诉我们两个随机变量之间的变化程度。

此 cov() 方法的输出是一个浮点值,表示两个 Series 之间的协方差。

此方法有三个参数,分别是 other、min_period 和 ddof。

示例 1

import pandas as pd
import numpy as np
# create pandas Series1
series1 = pd.Series([12,34,65,21])

print("第一个系列对象:",series1)

# 创建 pandas Series2
series2 = pd.Series([9,78,62,12])

print("第二个系列对象:",series2)

# 计算协方差值
print("协方差值:", series1.cov(series2))

解释

我们使用一个整数列表初始化了两个 pandas 系列对象 series1 和 series2,然后应用 cov() 方法计算协方差。

输出

第一个系列对象:
0 12
1 34
2 65
3 21
dtype: int64

第二个系列object:
0  9
1 78
2 62
3 12
dtype: int64

协方差值:576.3333333333333

上述示例的协方差为 576.33,显示在上述输出块中。

示例 2

import pandas as pd
import numpy as np

# create pandas Series1
series1 = pd.Series([89,np.nan,74,91,100])

print("第一个系列对象:",series1)

# create pandas Series2
series2 = pd.Series([93,54,21,80,42])

print("第二个系列对象:",series2)

# 计算协方差值
print("协方差值:", series1.cov(series2, min_periods=3))

解释

在下面的例子中,我们计算两个系列对象之间的协方差,这里给定系列对象的元素中存在一个 Nan 值。

输出

第一个系列对象:
0 89.0
1  NaN
2 74.0
3 91.0
4 100.0
dtype: float64

第二个系列对象:0 93
1 54
2 21
3 80
4 42
dtype: int64

协方差值:141.666666666666666

series.cov() 方法在计算系列之间的协方差时排除了 Nan 值。对于上述示例,协方差为"141.666"。


相关文章