如何使用 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"。

