📜  sciPy stats.variation()函数| Python

📅  最后修改于: 2022-05-13 01:55:02.760000             🧑  作者: Mango

sciPy stats.variation()函数| Python

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

代码 #1:使用变体()

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.73200773  1.90419038  5.77300406  1.29451485 -1.27228112]


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

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]