如何用python计算变异系数


变异系数,通常缩写为CV ,是一种测量数据集中值相对于平均值的分布的方法。计算方法如下:

CV = σ / μ

金子:

  • σ:数据集的标准差
  • μ:数据集的平均值

简单来说,变异系数就是标准差与平均值的比值。

何时使用变异系数

变异系数通常用于比较两组不同数据之间的变异。

在现实世界中,它经常用于金融领域,将投资的平均预期回报与投资的预期标准差进行比较。这使投资者可以比较投资之间的风险回报权衡。

例如,假设投资者正在考虑投资以下两只共同基金:

共同基金 A:平均值 = 9%,标准差 = 12.4%

UCITS B:平均值 = 5%,标准差 = 8.2%

通过计算每只基金的变异系数,投资者注意到:

共同基金 A 的 CV = 12.4% /9% = 1.38

共同基金 B 的 CV = 8.2% / 5% = 1.64

由于共同基金 A 的变异系数较低,因此相对于标准差而言,它提供了更好的平均回报。

如何用Python计算变异系数

要在Python中计算数据集的变异系数,可以使用以下语法:

 import numpy as np

cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100

以下示例展示了如何在实践中使用此语法。

示例 1:单个网络的变异系数

以下代码展示了如何计算单个表的 CV:

 #create vector of data
data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82]

#define function to calculate cv
cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 

#calculate CV
cv(data)

9.234518

变异系数为9.23

示例 2:多个向量的变异系数

以下代码显示了如何计算 pandas DataFrame 中多列的 CV:

 import numpy as np
import pandas as pd

#define function to calculate cv
cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100

#create pandas DataFrame
df = pd. DataFrame ({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95],
                   'b': [77, 88, 85, 76, 81, 82, 88, 91, 92, 99],
                   'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, 84]})

#calculate CV for each column in data frame
df. apply (cv)

a 11.012892
b8.330843
c7.154009
dtype:float64

请注意,在计算变异系数时,缺失值将被忽略:

 import numpy as np
import pandas as pd

#define function to calculate cv
cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100

#create pandas DataFrame
df = pd. DataFrame ({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95],
                   'b': [77, 88, 85, 76, 81, 82, 88, 91, np. no , 99],
                   'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, np. no ]})

#calculate CV for each column in data frame
df. apply (cv)

a 11.012892
b 8.497612
c5.860924
dtype:float64

其他资源

如何计算R的变异系数
如何在 Excel 中计算变异系数
如何计算 Google 表格中的变异系数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注