Python| Pandas Series.cov() 查找协方差
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas Series.cov()用于查找两个系列的协方差。在以下示例中,使用 Pandas 方法和手动方法找到协方差,然后比较答案。
要了解有关协方差的更多信息,请单击此处。
Syntax: Series.cov(other, min_periods=None)
Parameters:
other: Other series to be used in finding covariance
min_periods: Minimum number of observations to be taken to have a valid result
Return type: Float value, Returns covariance of caller series and passed series
例子 :
在此示例中,使用 Pandas .Series() 方法制作了两个列表并将其转换为系列。如果找到两个系列并创建一个函数来手动查找协方差,则为平均值。 Pandas .cov() 也被应用,两种方式的结果都存储在变量中并打印出来以比较输出。
Python3
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