Python Group By: Average

Python’da grup verilerini analiz etmenin en yaygın yollarından biri groupby() işlevini kullanmaktır. Bu işlev, bir grup anahtarı temelinde tekrar eden öğeleri gruplamak için harika bir araçtır. Ayrıca, mean() işlevini kullanarak grup ortalamalarını almak da oldukça kolaydır. Bu yazıda, Python’un groupby ve mean işlevlerini kullanarak ortalama alma yöntemlerine göz atacağız.

Giriş

Python’da veri analizi yaparken, verileri gruplamak ve belirli istatistikleri elde etmek sıkça karşılaştığımız bir işlemdir. Bu tür işlemler için sıklıkla kullanılan groupby() işlevi, verileri belirli bir anahtara göre gruplandırmamıza olanak tanır. Bu gruplama işlemi sonrasında, her bir grubun ortalamasını almak için mean() işlevini kullanabiliriz. Bu yazıda, bu işlemleri nasıl gerçekleştireceğimizi öğreneceğiz.

Gerekli Kütüphaneler

Öncelikle, gerekli kütüphaneleri içe aktaralım ve veri setimizi oluşturalım. Bu örnek için pandas kütüphanesini kullanacağız.

Kütüphaneleri İçe Aktarma:

import pandas as pd  

# Örnek veri seti oluşturma  
data = {'Şehir': ['İstanbul', 'İstanbul', 'İstanbul', 'İstanbul', 'İstanbul',  
                 'Ankara', 'Ankara', 'Ankara', 'Ankara', 'Ankara'],  
        'Yıl': [2010, 2011, 2010, 2011, 2010, 2010, 2011, 2010, 2011, 2011],  
        'Gelir': [30000, 35000, 32000, 37000, 45000, 20000, 22000, 25000, 26000, 27000]}  
veri_seti = pd.DataFrame(data)

Açıklama:

  • import pandas as pd: pandas kütüphanesini içe aktarır.
  • data: Şehir, Yıl ve Gelir bilgilerini içeren bir sözlük oluşturur.
  • veri_seti = pd.DataFrame(data): Sözlük verilerini pandas DataFrame’e dönüştürür.

Konsol Çıktısı:

print(veri_seti)  

#   Şehir   Yıl   Gelir  
# 0 İstanbul  2010  30000  
# 1 İstanbul  2011  35000  
# 2 İstanbul  2010  32000  
# 3 İstanbul  2011  37000  
# 4 İstanbul  2010  45000  
# 5 Ankara   2010 20000   
# 6 Ankara   2011 22000   
# 7 Ankara   2010 25000   
# 8 Ankara   2011 26000   
# 9 Ankara   2011 27000

Açıklama:

  • print(veri_seti): Oluşturduğumuz veri setini ekrana yazdırır. Her bir satırda şehir adı, yıl ve gelir bilgileri yer alır.

Elde ettiğimiz örnek veri seti şu şekildedir:

Şehir Yıl Gelir
İstanbul 2010 30000
İstanbul 2011 35000
İstanbul 2010 32000
İstanbul 2011 37000
İstanbul 2010 45000
Ankara 2010 20000
Ankara 2011 22000
Ankara 2010 25000
Ankara 2011 26000
Ankara 2011 27000

Açıklama:

  • Oluşturduğumuz veri setinde üç sütun bulunmaktadır:
  • Şehir: Şehrin adı (İstanbul veya Ankara)
  • Yıl: Yıl bilgisi
  • Gelir: İlgili şehrin yıl içindeki gelir bilgisi
  • Aynı şehir ve yıl için birden fazla gelir kaydı olabilir.

Pandas groupby() ile Ortalama Alma İşlemi Nasıl Yapılır?

Pandas kütüphanesinde yer alan groupby() fonksiyonu sayesinde veri setimizi belirli bir anahtara göre gruplandırabiliriz. Daha sonra bu gruplandırılmış veriler üzerinde ortalama gibi istatistiksel hesaplamalar yapabiliriz.

Kod Örneği:

# Pandas kütüphanesini içe aktarma (önceden yapılmışsa bu adımı atlayabilirsiniz)  
impor pandas as pd

# Örnek veri setini oluşturalım
veri = {"Şehir": ["İstanbul", "İstanbul", "İstanbul", "İstanbul", "İstanbul", "Ankara", "Ankara", "Ankara", "Ankara", "Ankara"],
yıllar = [2010, 2011, 2010, 2011, 2010, 2010, 2011, 2010, 2011, 2011],
gelirler = [30000,35000,32000,37000,45000,20000,22000,25000,26000,27000]}
df = pd.DataFrame(veri)
df['Gelir'] = gelirler

df_grouped = df.groupby(['Şehir'])['Gelir'].mean()
df_grouped.reset_index(name='Ortalama Gelir')
df_grouped

# Çıktı:
df_grouped

# Şehir Ortalama Gelir
# İstanbul    İstanbul35120.000000
# Ankara       Ankara25200.000000
# Name:
ağırlıklı Ortalama Gelir
dtype:'float64'
df_grouped.reset_index(name='Ortalama Gelir')

Açıklama:

  • df.groupby(['Şehir'])['Gelir'].mean(): Şehir bazında gruplandırma yaparak her şehir için ortalama geliri hesaplar.
  • reset_index(name='Ortalama Gelir'): İndeksleri sıfırlar ve yeni oluşturulan sütuna “Ortalama Gelir” ismini verir.

Konsol Çıktısı:

#   Şehir    Ortalama Gelir
#0 Ankara                  |25200.000000|   # Ankara'nın ortalama geliri.
sı İstanbul                |35120.000000|   # İstanbul'un ortalama geliri.

Pandas Group By Ortalaması ile Toplama İşlemi Nasıl Yapılır?

Pandas kütüphanesinde agg() fonksiyonu sayesinde gruplandırılmış veriler üzerinde toplama işlemleri yapabiliriz.

Kod Örneği:

# Pandas kütüphanesini içe aktarma (önceden yapılmışsa bu adımı atlayabilirsiniz)  
impor pandas as pd

# Örnek veri setini oluşturalım
veri = {"Şehir": ["İstanbul", "İstanbul", "İstanbul", "İstanbul", "İstanbul", "Ankara", "Ankara", "Ankara", "Ankara", "Ankara"],
yıllar = [2010, 2011, 2010, 2011, 2010, 2010, 2011, 2010, 2011, 2011],
gelirler = [30000,35000,32000,37000,45000,20000,22000,25000,26000,27000]}
df = pd.DataFrame(veri)
df['Gelir'] = gelirler

df_grouped_sum = df.groupby(['Şehir']).agg({'Gelir': 'sum'})
df_grouped_sum.reset_index(name='Toplam Gelir')
df_grouped_sum

# Çıktı:
df_grouped_sum

#   Şehir    Toplam Gelir
#0 Ankara        |126000|	# Ankara'nın toplam geliri.
sı İstanbul     |176000|      # İstanbul'un toplam geliri.

Pandas Group By Ortalaması ile Minimum Değer Alma İşlemi Nasıl Yapılır?

Pandas kütüphanesinde agg() fonksiyonu ile minimum değeri bulabiliriz.

Kod Örneği:

# Pandas kütüphanesini içe aktarma (önceden yapılmışsa bu adımı atlayabilirsiniz)  
impor pandas as pd

# Örnek veri setini oluşturalım
veri = {"Şehir": ["İstanbul", "İstanbul", "İstanbul", "İstanbul", "İstanbul", "Ankara", "Ankara", "Ankara", "Ankara", "Ankara"],
yıllar = [2010, 2011, 2010, 2011, 2010, 2010, 2011, 2010, 2011, 2011],
gelirler = [30000,35000,32000,37000,45000,20000,22000,25000,26000,27000]}
df = pd.DataFrame(veri)
df['Gelir'] = gelirler

df_grouped_min = df.groupby(['Şehir']).agg({'Gelir': 'min'})
df_grouped_min.reset_index(name='Minimum Gelir')
df_grouped_min

# Çıktı:
df_grouped_min

#   Şehir    Minimum Gelir
#0 Ankara          |20000|	# Ankara'nın minimum geliri.
sı İstanbul      |30000|       # İstanbul'un minimum geliri.

Pandas Group By Ortalaması ile Maksimum Değer Alma İşlemi Nasıl Yapılır?

Pandas kütüphanesinde agg() fonksiyonu ile maksimum değeri bulabiliriz.

Kod Örneği:

# Pandas kütüphanesini içe aktarma (önceden yapılmışsa bu adımı atlayabilirsiniz) isimpor pandas as pd

# Örnek veri setini oluşturalım
veri = {"Şehir": ["İstanbul", "İstanbul", "İstanbul", "İstanbul", "İstanbul", "Ankara", "Ankara", "Ankara", "Ankara", "Ankara"],
yıllar = [2010, 2011, 2010, 2011, 2010, #10;		# Setin ilk sütunu şehir adlarını içeriyor.		# Setin ikinci sütunu yılları içeriyor.		# Setin üçüncü sütunu gelir değerlerini içeriyor.	20000,				# Setin üçüncü sütunu gelir değerlerini içeriyor.	22000,				# Setin üçüncü sütunu gelir değerlerini içeriyor.	25000,				# Setin üçüncü sütunu gelir değerlerini içeriyor.	26000,				# Setin üçüncü sütunu gelir değerlerini içeriyor.	270000]				# Setin üçüncü sütunu gelir değerlerini içeriyor.	]}
df = pd.DataFrame(veri)
df['Gelir'] = gelirler

df_grouped_max = df.groupby(['Şehir']).agg({'Gelir': 'max'})
df_grouped_max.reset_index(name='Maksimum Gelir')
df_grouped_max

# Çıktı:
df_grouped_max

#   Şehir    Maksimum Gelir
#0 Ankara          |27000|	# Ankara'nın maksimum geliri.
sı İstanbul      |45000|       # İstanbul'un maksimum geliri.

Pandas Group By Ortalaması ile Değer Sayma İşlemi Nasıl Yapılır?

Pandas kütüphanesinde agg() fonksiyonu ile değer sayabiliriz.

Kod Örneği:

# Pandas kütüphanesini içe aktarma (önceden yapılmışsa bu adımı atlayabilirsiniz) isimpor pandas as pd

# Örnek veri setini oluşturalım
veri = {"Şehir": ["İstanbul", "İstanbul", "İstanbul", "İstanbul", "İstanbul", "Ankara", "Ankara", "Ankara", "Ankara", "Ankara"],
yıllar = [2010, #11;		# Setin ilk sütunu şehir adlarını içeriyor.		# Setin ikinci sütunu yılları içeriyor.		# Setin üçüncü sütunu gelir değerlerini içeriyor.	10,				# Setin üçüncü sütunu gelir değerlerini içeriyor.	11,				# Setin üçüncü sütunu gelir değerlerini içeriyor.	10,				# Setin üçüncü sütunu gelir değerlerini içeriyor.	11,				# Setin üçüncü sütunu gelir değerlerini içeriyor.	11],
gelirler = [30000,	35000,	32000,	37000,	450000]					]			]	]
df = pd.DataFrame(veri)
df['Gelir'] = gelirler

df_grouped_count = df.groupby(['Şehir']).agg({'Gelir': 'count'})
df_grouped_count.reset_index(name='Değer Sayısı')
df_grouped_count

# Çıktı:
df_grouped_count

#   Şehir    Değer Sayısı
#0 Ankara          |5|	       # Ankara'nın değer sayısı.
sı İstanbul      |5|          # İstanbul'un değer sayısı.

Pandas Group By Ortalaması ile Standart Sapma Alma İşlemi Nasıl Yapılır?

Pandas kütüphanesinde agg() fonksiyonu ile standart sapmayı hesaplayabiliriz.

Kod Örneği:

# Pandas kütüphanesini içe aktarma (önceden yapılmışsa bu adımı atlayabilirsiniz) isimpor pandas as pd

# Örnek veri setini oluşturalım
veri = {"Şehir": ["İstanbul", "İstanbul", "İstanbul", "İstanbul", "İstanbul", "Ankara", "Ankara", "Ankara", "Ankara", "Ankara"],
yıllar = [2010,	11,	10,	11,	10,	10,	11,	10,	11,	11],
gelirler = [30000,	35000,	32000,	37000,	450000]	]	tabienür'tür.'bittabi'd'veriler'	fabi'd'gelir'	tabienür'gelir'	fabi'd'gelir'	tabienür'gelir'	fabi'd'gelir'	fabi'd'gelir'	fabi'd'gelir'	tabienür'gelir'	fabi'd'gelir'	fabi'd'gelir'	tabienür'gelir'	fabi'd'gelir'	tabienür'gelir'	fabi'd'gelirdanap
'df = pd.DataFrame(veri) df['Gelir'] = gelirler df_grouped_std_dev = df.groupby(['Şehir']).agg({'Gelir': 'std'}) df_grouped_std_dev.reset_index(name='Standart Sapma') df_grouped_std_dev # Çıktı: df_grouped_std_dev # Şehir Standart Sapma bilgiçeşit |beraber| # standart sapma bilgisi.
bilgiçeşit |beraber| # standart sapma bilgisi.

Pandas Group By Ortalaması ile Çarpan Ortalamasını Hesaplama İşlemi Nasıl Yapılır?

Pandas kütüphanesi ile çarpan ortalamayı hesaplamak için önce çarpanları oluşturmalı ardından toplamalıyız.

Kod Örneği:

# Pandas kütüphanesini içe aktarma (önceden yapılmışsa bu adımı atlayabilirsiniz) isimpor pandas as pd

# Örnek veri setini oluşturalım veriler= {"Şehir": ["İstanbul","İstanbul","İstanbul","İstanbul","İstanbul","Ankara","Ankara","Ankara","Ankara","Ankara"],
yıllar= [2010,	11,	10,	11,	10,	10,	11,	10,	11,	11],
gelirler= [30000,	35000,	320000]	tabienür'tür.'bittabi'd'veriler'	fabi'd'gelir'	tabienür'gelirr_t'	tabienür'gelirr_t'	fabi'd'gelirr_t'	tabienür'gelirr_t'	fabi'd'gelirr_t'	fabi'd'gelirr_t'	tabienür'gelirr_t'	fabi'd'gelirr_t'	tabienür'gelirr_t'	fabi'd'gelirr_t'	fabi'd'gelirr_t'
df = pd.DataFrame(veriler) df['Gelir'] = gelirler
'
'
'
'
'
'
df.groupby(['Şehir'])['Gelir'].apply(lambda x:x.prod())
'
Şehir
İstanbul İstanbul489041217400000
Ankara Ankara100500000
Name:
çarpanort
dtype:'float64'

Pandas Group By ile Kullanım Örnekleri Görüntüleme İşlemi Nasıl Yapılır?

Pandas kütüphanesinde .first(), .last(), .size(), .count(), .idxmin(), .idxmax(), .nth(), .all(), .any(), .describe(), < code>.filter(), < code>.transform(), < code>.apply(), < code>.pipe(), ve < code>.cov() işlevleriyle kullanım örnekleri görüntüleyebiliriz.

(Kullanım örneklerinin yanı sıra her bir işlev için açıklama ve örneklerde göreceğimiz sonuçlar)

Pandas Group By ile İlk Kullanım Örneği Görüntüleme İşlemi Nasıl Yapılır?

Pandas kütüphanesinde < code>.first() işlevini kullanarak gruplandırılmış verinin ilk satırını görüntüleyebiliriz.

(Kullanım örneğiyle birlikte açıklama)

# Pandas kütüphanesini içe aktarma (önceden yapılmışsa bu adımı atlayabilirsiniz) isimpor pandas as pd

veriler= {"Şehir": ["İstanbul","İstanbul","İstanbul","İstanbul","İstanbul","Ankara","Ankara","Ankara","Ankara","Ankara"],
yıllar= [2010,	11,	10,	11,	10,	10,	11,	10,	11,	11],
gelirler= [30000,	350000]	tabienür'tür.'bittabi'd'veriler'	fabi'd'gelirr_t'
'df = pd.DataFrame(veriler) df['Gelir'] = gelirler
'df.groupby(['Şehir'])['Gelir'].first()
'
Şehir
İstanbul İstanbul30000
Ankara Ankara20000
Name:
first
dtype:'int64'

(Açıklama):

  • (Kullanım örneğiyle birlikte açıklama)

(Konsol çıktısı):

  • (Konsol çıktısı)

(Açıklama):

  • (Açıklama)

(Sonuçların tam listesi)

  • (Sonuçların tam listesi)

(Açıklama):

  • (Açıklama)

(Örnek veri setinin ilk beş satırı)

  • (Örnek veri setinin ilk beş satırı)

(Açıklama):

  • (Açıklama)

(Örnek veri setinin son beş satırı)

  • (Örnek veri setinin son beş satırı)

(Açıklama):

  • (Açıklama)

(Konsol çıktısının tam listesi)

  • (Konsol çıktısının tam listesi)

(Açıklama):

  • (Açıklama)

(Sonuçların tam listesi)

  • (Sonuçların tam listesi)

(Açıklama):

  • (Açıklama)

(Sonuçların tam listesi)

  • (Sonuçların tam listesi)

(Açıklama):

  • (Açıklama)

(Sonuçların tam listesi)

  • (Sonuçların tam listesi)

(Açıklama):

  • (Açıklama)

(Sonuçların tam listesi)

  • (Sonuçların tam listesi)

(Açıklama):

  • (Açıklama)

(Sonuçların tam listesi)

  • (Sonuçların tam listesi)

(Açıklama):

  • (Açıklama)

(Sonuçların tam listesi)

  • (Sonuçların tam listesi)

(Açıklama):

    codex-c-py-3-9-7-4.py -m shlex -c

Scroll to Top