Python Pandas - Açıklayıcı İstatistikler
Çok sayıda yöntem, DataFrame üzerinde tanımlayıcı istatistikleri ve diğer ilgili işlemleri toplu olarak hesaplar. Bunların çoğu gibi toplamalarsum(), mean(), ama bazıları gibi sumsum(), aynı boyutta bir nesne üretin. Genel olarak konuşursak, bu yöntemler biraxisbağımsız değişken, tıpkı ndarray gibi . {toplam, std, ...}, ancak eksen ad veya tamsayı ile belirtilebilir
DataFrame - "dizin" (eksen = 0, varsayılan), "sütunlar" (eksen = 1)
Bir DataFrame oluşturalım ve bu nesneyi bu bölüm boyunca tüm işlemler için kullanalım.
Misal
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
'Lee','David','Gasper','Betina','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 df
Onun output aşağıdaki gibidir -
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
7 34 Lee 3.78
8 40 David 2.98
9 30 Gasper 4.80
10 51 Betina 4.10
11 46 Andres 3.65
toplam ()
İstenen eksen için değerlerin toplamını verir. Varsayılan olarak eksen dizindir (eksen = 0).
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
'Lee','David','Gasper','Betina','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 df.sum()
Onun output aşağıdaki gibidir -
Age 382
Name TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating 44.92
dtype: object
Her bir sütun ayrı ayrı eklenir (Dizeler eklenir).
eksen = 1
Bu sözdizimi, çıktıyı aşağıda gösterildiği gibi verecektir.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
'Lee','David','Gasper','Betina','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 df.sum(1)
Onun output aşağıdaki gibidir -
0 29.23
1 29.24
2 28.98
3 25.56
4 33.20
5 33.60
6 26.80
7 37.78
8 42.98
9 34.80
10 55.10
11 49.65
dtype: float64
anlamına gelmek()
Ortalama değeri verir
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
'Lee','David','Gasper','Betina','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 df.mean()
Onun output aşağıdaki gibidir -
Age 31.833333
Rating 3.743333
dtype: float64
std ()
Sayısal sütunların Bressel standart sapmasını döndürür.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
'Lee','David','Gasper','Betina','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 df.std()
Onun output aşağıdaki gibidir -
Age 9.232682
Rating 0.661628
dtype: float64
Fonksiyonlar ve Açıklama
Şimdi Python Pandalarındaki Tanımlayıcı İstatistikler altındaki işlevleri anlayalım. Aşağıdaki tablo önemli işlevleri listelemektedir -
Sr.No. | Fonksiyon | Açıklama |
---|---|---|
1 | Miktar() | Boş olmayan gözlemlerin sayısı |
2 | toplam () | Değerlerin toplamı |
3 | anlamına gelmek() | Değerlerin Ortalaması |
4 | medyan() | Değerlerin Ortanca Değeri |
5 | mod () | Değerlerin modu |
6 | std () | Değerlerin Standart Sapması |
7 | dk () | Minimum değer |
8 | max () | Maksimum değer |
9 | abs () | Mutlak değer |
10 | prod () | Değerlerin Çarpımı |
11 | cumsum () | Kümülatif Toplam |
12 | cumprod () | Kümülatif Ürün |
Note- DataFrame Heterojen bir veri yapısı olduğundan. Genel işlemler tüm işlevlerle çalışmaz.
Gibi işlevler sum(), cumsum()hem sayısal hem de karakter (veya) dizesi veri öğeleriyle hatasız çalışır. Rağmenn pratikte, karakter kümelemeleri asla genel olarak kullanılmaz, bu işlevler herhangi bir istisna atmaz.
Gibi işlevler abs(), cumprod() DataFrame karakter veya dize verileri içerdiğinde istisna atar çünkü bu tür işlemler gerçekleştirilemez.
Verileri Özetleme
describe() işlevi, DataFrame sütunlarıyla ilgili istatistiklerin bir özetini hesaplar.
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
'Lee','David','Gasper','Betina','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 df.describe()
Onun output aşağıdaki gibidir -
Age Rating
count 12.000000 12.000000
mean 31.833333 3.743333
std 9.232682 0.661628
min 23.000000 2.560000
25% 25.000000 3.230000
50% 29.500000 3.790000
75% 35.500000 4.132500
max 51.000000 4.800000
Bu işlev, mean, std ve IQRdeğerler. Ve işlev, karakter sütunlarını hariç tutar ve sayısal sütunlarla ilgili özet verir.'include'özetleme için hangi sütunların dikkate alınması gerektiğine ilişkin gerekli bilgileri iletmek için kullanılan argümandır. Değerlerin listesini alır; varsayılan olarak "sayı".
- object - Dize sütunlarını özetler
- number - Sayısal sütunları özetler
- all - Tüm sütunları birlikte özetler (Liste değeri olarak geçmemelidir)
Şimdi, programda aşağıdaki ifadeyi kullanın ve çıktıyı kontrol edin -
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
'Lee','David','Gasper','Betina','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 df.describe(include=['object'])
Onun output aşağıdaki gibidir -
Name
count 12
unique 12
top Ricky
freq 1
Şimdi, aşağıdaki ifadeyi kullanın ve çıktıyı kontrol edin -
import pandas as pd
import numpy as np
#Create a Dictionary of series
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
'Lee','David','Gasper','Betina','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 df. describe(include='all')
Onun output aşağıdaki gibidir -
Age Name Rating
count 12.000000 12 12.000000
unique NaN 12 NaN
top NaN Ricky NaN
freq NaN 1 NaN
mean 31.833333 NaN 3.743333
std 9.232682 NaN 0.661628
min 23.000000 NaN 2.560000
25% 25.000000 NaN 3.230000
50% 29.500000 NaN 3.790000
75% 35.500000 NaN 4.132500
max 51.000000 NaN 4.800000