top of page

Üyelik Paketlerinde 25% İndirim İçin Kodun : "welcome"

Pandas ile Gruplama ve Pivot Tablolar



Hands-on Mentor Kapsamlı Blog İçeriği
Hands-on Mentor Tutorials


Grouped Summary Statistics

Pandas, verileri belirli sütunlara göre gruplandırarak özet istatistikler elde etmenizi sağlar. Bu, verilerin anlamlı bir şekilde analiz edilmesine olanak tanır.


groupby() Fonksiyonu

groupby() fonksiyonu, belirli bir sütuna göre verileri gruplar ve her grup üzerinde toplama fonksiyonları uygulamanıza olanak tanır.


Örnek:


import pandas as pd

# DataFrame oluşturma
data = {
    "Öğrenci": ["Ali", "Ayşe", "Mehmet", "Fatma", "Ahmet", "Hasan", "Zeynep", "Hüseyin", "Elif", "Mert"],
    "Sınıf": ["A", "B", "A", "B", "A", "B", "A", "B", "A", "B"],
    "Matematik": [85, 95, 70, 90, 78, 82, 88, 75, 92, 80],
    "Fizik": [90, 85, 80, 92, 75, 88, 91, 77, 89, 85],
    "Kimya": [78, 88, 85, 89, 80, 84, 87, 73, 90, 82]
}

df = pd.DataFrame(data)

# 'Sınıf' sütununa göre gruplama ve 'Matematik' notlarının ortalamasını hesaplama
grouped_math = df.groupby('Sınıf')['Matematik'].mean()
print("Average Math Scores by Class:\\n", grouped_math)
# Çıktı:
# Average Math Scores by Class:
# Sınıf
# A    82.6
# B    84.4
# Name: Matematik, dtype: float64


Gruplandırılmış Özet İstatistikler

Gruplandırılmış veriler üzerinde çeşitli özet istatistikler hesaplayabilirsiniz.


Örnek:


import pandas as pd

# 'Sınıf' sütununa göre gruplama ve özet istatistikler hesaplama
grouped_stats = df.groupby('Sınıf').agg({
    'Matematik': ['mean', 'sum', 'std'],
    'Fizik': ['mean', 'min', 'max'],
    'Kimya': ['count', 'mean']
})
print("Grouped Summary Statistics:\\n", grouped_stats)
# Çıktı:
#      Matematik                  Fizik                Kimya
#           mean  sum       std  mean min max count  mean
# Sınıf
# A       82.6   413  7.72651  85.0  75  91     5  84.0
# B       84.4   422  8.34708  83.4  77  92     5  83.2


Pivot Tables

Pivot tablolar, verileri özetlemek ve analiz etmek için güçlü bir araçtır. Pandas'ta pivot tablolar oluşturmak için pivot_table() fonksiyonu kullanılır.


Pivot Table Oluşturma

pivot_table() fonksiyonu, verileri belirli bir düzende yeniden şekillendirerek özetler.


Örnek:


import pandas as pd

# DataFrame oluşturma
data = {
    "Öğrenci": ["Ali", "Ayşe", "Mehmet", "Fatma", "Ahmet", "Hasan", "Zeynep", "Hüseyin", "Elif", "Mert"],
    "Sınıf": ["A", "B", "A", "B", "A", "B", "A", "B", "A", "B"],
    "Matematik": [85, 95, 70, 90, 78, 82, 88, 75, 92, 80],
    "Fizik": [90, 85, 80, 92, 75, 88, 91, 77, 89, 85],
    "Kimya": [78, 88, 85, 89, 80, 84, 87, 73, 90, 82]
}

df = pd.DataFrame(data)

# Pivot table oluşturma
pivot = pd.pivot_table(df, values='Matematik', index='Sınıf', columns='Öğrenci', aggfunc='mean')
print("Pivot Table:\\n", pivot)
# Çıktı:
# Öğrenci      Ahmet  Ali  Ayşe  Elif  Fatma  Hasan  Hüseyin  Mehmet  Mert  Zeynep
# Sınıf
# A           78.0 85.0  NaN  92.0   NaN   NaN      NaN    70.0   NaN    88.0
# B            NaN  NaN 95.0   NaN   90.0  82.0      75.0    NaN 80.0    NaN


Çoklu Toplama Fonksiyonları ile Pivot Table

Bir pivot tabloya birden fazla toplama fonksiyonu uygulamak mümkündür.


Örnek:


import pandas as pd

# Pivot table oluşturma ve birden fazla toplama fonksiyonu uygulama
pivot_multiple = pd.pivot_table(df, values=['Matematik', 'Fizik'], index='Sınıf', aggfunc={'Matematik': 'mean', 'Fizik': ['mean', 'max']})
print("Pivot Table with Multiple Aggregation Functions:\\n", pivot_multiple)
# Çıktı:
#       Matematik  Fizik
#             mean  mean  max
# Sınıf
# A           82.6  85.0   91
# B           84.4  83.4   92


Pivot Table ile Veri Filtreleme

Pivot tablolar, belirli koşullara göre verileri filtrelemenize olanak tanır.


Örnek:


import pandas as pd

# Pivot table oluşturma ve veri filtreleme
pivot_filtered = pd.pivot_table(df, values='Kimya', index='Sınıf', columns='Öğrenci', aggfunc='mean')
pivot_filtered = pivot_filtered[pivot_filtered.mean(axis=1) > 80]
print("Filtered Pivot Table:\\n", pivot_filtered)
# Çıktı:
# Öğrenci  Ahmet  Ali  Ayşe  Elif  Fatma  Hasan  Hüseyin  Mehmet  Mert  Zeynep
# Sınıf
# A         80.0 78.0   NaN  90.0    NaN    NaN       NaN   85.0   NaN    87.0
# B          NaN   NaN  88.0   NaN   89.0   84.0       73.0    NaN  82.0     NaN


Bu dersin sekizinci partı ile Pandas ile gruplama ve pivot tabloları kullanarak veri analizi yapmayı öğrendik. groupby() fonksiyonunu kullanarak verileri gruplama ve özet istatistikler hesaplamayı, pivot tablolar oluşturarak verileri yeniden şekillendirmeyi ve filtrelemeyi inceledik. Bir sonraki partta, Pandas ile dilimleme ve indeksleme tekniklerini inceleyeceğiz ve bu teknikleri uygulayacağız.

 

Python temellerini atıp, veri analizi ve bilimi için yetkinlik kazanmak istiyorsanız, 1 aylık yoğun Python kampına hemen kayıt olabilirsiniz. ~40 saat canlı ders, ~50 adet kapsamlı proje, ~15 adet quiz ve sayısız kodlama egzersizinden oluşan, Finlandiya eğitim modellerinden esinlenilerek Helsinki'de geliştirilen interaktif ve pratik odaklı eğitim programına hemen göz atın !




Comments


Commenting has been turned off.
bottom of page