Python Pandas Series.cov()用于查找协方差
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python软件包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据更加容易。
Pandas Series.cov()是用来寻找两个系列的协方差的。在下面的例子中,使用Pandas方法和手动方式找到协方差,然后比较答案。
语法: Series.cov(other, min_periods=None)
参数:
other:用于寻找协方差的其他序列
min_periods:为得到有效的结果所需的最小观察数。
返回类型: Float值,返回调用者系列和传递的系列的协方差。
示例 :
在这个例子中,使用Pandas .Series()方法制作了两个列表并转换为系列。找到两个系列的平均值,并创建一个函数来手动找到协方差。Pandas .cov()也被应用,两种方式的结果都存储在变量中,并打印出来以比较输出。
import pandas as pd
# list 1
a = [2, 3, 2.7, 3.2, 4.1]
# list 2
b = [10, 14, 12, 15, 20]
# storing average of a
av_a = sum(a)/len(a)
# storing average of b
av_b = sum(b)/len(b)
# making series from list a
a = pd.Series(a)
# making series from list b
b = pd.Series(b)
# covariance through pandas method
covar = a.cov(b)
# finding covariance manually
def covarfn(a, b, av_a, av_b):
cov = 0
for i in range(0, len(a)):
cov += (a[i] - av_a) * (b[i] - av_b)
return (cov / (len(a)-1))
# calling function
cov = covarfn(a, b, av_a, av_b)
# printing results
print("Results from Pandas method: ", covar)
print("Results from manual function method: ", cov)
输出:
从输出中可以看出,两种方法的输出是一样的。因此,这种方法在寻找大序列的共同方差时很有用。
Results from Pandas method: 2.8499999999999996
Results from manual function method: 2.8499999999999996