Python - Merkezi Eğilimi Ölçme
Matematiksel olarak merkezi eğilim, bir veri setinin değerlerinin merkezini veya konumunun dağılımını ölçmek anlamına gelir. Veri setindeki verilerin ortalama değeri hakkında bir fikir verir ve ayrıca değerlerin veri setinde ne kadar geniş yayıldığını gösterir. Bu da, mevcut veri setine uyan yeni bir girdi şansını ve dolayısıyla başarı olasılığını değerlendirmeye yardımcı olur.
Pandas python kütüphanesindeki yöntemler kullanılarak hesaplanabilen üç ana merkezi eğilim ölçüsü vardır.
Ortalama - Değerlerin toplamının değer sayısı ile bölünmesi olan verilerin Ortalama değeridir.
Medyan - Değerler artan veya azalan sırada düzenlendiğinde dağılımdaki orta değerdir.
Mod - Bir dağıtımda en sık görülen değerdir.
Ortalama ve Medyan Hesaplanıyor
Pandaların işlevleri, bu değerleri hesaplamak için doğrudan kullanılabilir.
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()
Onun output aşağıdaki gibidir -
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
Hesaplama Modu
Mod, verilerin sürekli olmasına veya maksimum frekansı olan değerlerin olup olmamasına bağlı olarak bir dağıtımda mevcut olabilir veya olmayabilir. Modu bulmak için aşağıda basit bir dağılım alıyoruz. Burada dağılımda maksimum frekansa sahip bir değerimiz var.
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()
Onun output aşağıdaki gibidir -
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