Python衡量中心趨勢

數學中心趨勢意味着測量數據集中值或位置的分佈。 它給出了數據集中數據的平均值的一個概念,也表明數據集中數值的擴展程度。 這反過來有助於評估新的輸入符合現有數據集的可能性,從而有助於評估成功的可能性。

有三種主要的集中趨勢度量可以使用pandas python庫中的方法來計算。

  • 平均數 - 這是數據的平均值,它是值與數值總和的分界。
  • 中位數 - 當值按升序或降序排列時,它是分佈中的中間值。
  • 模式 - 這是分配中最常見的值。

計算平均數和中位數

pandas函數可以直接用來計算這些值。

import pandas as pd

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','Chanchal','Gasper','Naviya','Andres']),
   'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#Create a DataFrame
df = pd.DataFrame(d)
print ("Mean Values in the Distribution")
print (df.mean())
print ("*******************************")
print ("Median Values in the Distribution")
print (df.median())

執行上面示例代碼,得到以下結果 -

Mean Values in the Distribution
Age       31.833333
Rating     3.743333
dtype: float64
*******************************
Median Values in the Distribution
Age       29.50
Rating     3.79
dtype: float64

計算模式

根據數據是否連續或者是否存在具有最大頻率的值,模式可能會或可能不會在分佈中可用。 我們通過下面的簡單分佈來找出模式。 這裏有一個在分佈中具有最大頻率的值。

import pandas as pd

#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
   'Lee','Chanchal','Gasper','Naviya','Andres']),
   'Age':pd.Series([25,26,25,23,30,25,23,34,40,30,25,46])}
#Create a DataFrame
df = pd.DataFrame(d)

print (df.mode())

執行上面示例代碼,得到以下結果 -

Python衡量中心趨勢

     Age      Name
0   25.0    Andres
1    NaN  Chanchal
2    NaN    Gasper
3    NaN      Jack
4    NaN     James
5    NaN       Lee
6    NaN    Naviya
7    NaN     Ricky
8    NaN     Smith
9    NaN     Steve
10   NaN       Tom
11   NaN       Vin