200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > python变异系数 Python Scipy stats.variation()用法及代码示例

python变异系数 Python Scipy stats.variation()用法及代码示例

时间:2023-04-22 16:46:47

相关推荐

python变异系数 Python Scipy stats.variation()用法及代码示例

scipy.stats.variation(arr, axis = None)函数计算变异系数。定义为标准偏差与平均值之比。

参数:

arr :[数组]输入数组。

axis :[int或int元组]轴,我们要沿着该轴计算变异系数。

->轴= 0沿列的变化系数。

->轴= 1沿行工作的变化系数。

结果:沿指定轴具有值的数组变化系数。

代码1:使用variation()

from scipy.stats import variation

import numpy as np

arr = np.random.randn(5, 5)

print ("array : \n", arr)

# rows: axis = 0, cols: axis = 1

print ("\nVariation at axis = 0: \n", variation(arr, axis = 0))

print ("\nVariation at axis = 1: \n", variation(arr, axis = 1))

输出:

array :

[[-1.16536706 -1.29744691 -0.39964651 2.14909277 -1.00669835]

[ 0.79979681 0.91566149 -0.823054 0.9189682 -0.01061181]

[ 0.9532622 0.38630077 -0.79026789 -0.70154086 0.79087801]

[ 0.53553389 1.46409899 1.89903817 -0.35360202 -0.14597738]

[-1.53582875 -0.50077039 -0.23073327 0.32457064 -0.43269088]]

Variation at axis = 0:

[-12.73042404 5.10272979 -14.6476392 2.15882202 -3.64031032]

Variation at axis = 1:

[-3.7373 1.90419038 5.77300406 1.29451485 -1.27228112]

代码2:如何在没有variation()的情况下实现

import numpy as np

arr = np.random.randn(5, 5)

print ("array : \n", arr)

# this function works similar to variation()

cv = lambda x: np.std(x) / np.mean(x)

var1 = np.apply_along_axis(cv, axis = 0, arr = arr)

print ("\nVariation at axis = 0: \n", var1)

var2 = np.apply_along_axis(cv, axis = 1, arr = arr)

print ("\nVariation at axis = 0: \n", var2)

输出:

array :

[[ 0.51268414 -1.93697931 0.41573223 2.14911168 0.15036631]

[-0.50407207 1.51519879 -0.42217231 -1.09609322 1.93184432]

[-1.07727163 0.27195529 -0.1308108 -1.75406388 0.94046395]

[ 1.23283059 -0.03112461 0.59725109 0.06671002 -0.97537666]

[ 1.1233506 0.97658799 -1.10309113 -1.33142901 -0.28470146]]

Variation at axis = 0:

[ 3.52845174 7.40891024 -4.74078192 -3.57928544 2.85092056]

Variation at axis = 0:

[ 5.04874565 4.22763514 -2.74104828 4.10772935 -8.24126977]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。