Skip to content

Instantly share code, notes, and snippets.

@s1rat-dev
Created February 23, 2021 20:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save s1rat-dev/1e9131d0c0296a87d18a82a6622ad3c6 to your computer and use it in GitHub Desktop.
Save s1rat-dev/1e9131d0c0296a87d18a82a6622ad3c6 to your computer and use it in GitHub Desktop.
{PYTHON] Pandas GroupBy başlıca özellikleri ve kullanımı.
import pandas as pd
import numpy as np
data = {
'Çalışan': ['Ahmet Yılmaz','Can Ertürk','Hasan Korkmaz','Cenk Saymaz','Ali Turan','Rıza Ertürk','Mustafa Can'],
'Departman': ['İnsan Kaynakları','Bilgi İşlem','Muhasebe','İnsan Kaynakları','Bilgi İşlem','Muhasebe','Bilgi İşlem'],
'Yaş': [30,25,45,50,23,34,42],
'Semt': ['Kadıköy','Tuzla','Maltepe','Tuzla','Kadıköy','Tuzla','Maltepe'],
'Maaş': [5000,3000,4000,3500,2750,6500,4500]
}
df = pd.DataFrame(data)
result = df
result = df['Maaş'].sum()
result = df.groupby('Departman')
result = df.groupby('Departman').groups
result = df.groupby(['Departman','Maaş']).groups
semtler = df.groupby('Semt')
# for name,semt in semtler:
# print(name)
# print(semt)
# #SEMT VE O SEMTTE OTURAN İNSANLARIN BİLGİLERİNİ EKRANA BASAR
result = df.groupby('Semt').get_group('Kadıköy')['Çalışan'] # Semtlerden Kadıköyde oturan çalışanların adları.
result = df.groupby('Departman').get_group('Bilgi İşlem') # Departmanlardan 'Bilgi İşlem' bilgilerini getirir.
result = df.groupby('Departman').sum() # Departmandaki sayısal değerleri toplar.
result = df.groupby('Departman').mean() # Departmandaki sayısal değerlerin ortlamasını alır.
result = df.groupby('Departman').min()[['Maaş','Yaş']]
result = df.groupby('Semt')['Yaş'].mean()
result = df.groupby('Semt')['Çalışan'].count() # Semtlere göre çalışan sayılarını gösterir.
result = df.groupby('Semt').get_group('Kadıköy')['Çalışan'].count() # Semtlerden, Kadıköy'de çalışan sayısını gösterir.
########################################################################
result = df.groupby('Departman')['Maaş'].max()['Muhasebe'] #
result = df.groupby('Departman').get_group('Muhasebe')['Maaş'].max() #
########################################################################
'''
Yukarıdaki iki örnekte aynı kullanımdır ve
amacı Muhasebe Departmanındaki maximum değere sahip Maaş bilgisini almaktır.
'''
#agg kullanımı,
result = df.groupby('Departman').agg([('Ortalama',np.mean)])
result = df.groupby('Departman')['Maaş'].agg([('Toplam',np.sum),('Ortalama',np.mean),('En yüksek',np.max),('En düşük',np.min)])
result = df.groupby('Departman')['Çalışan'].agg([('Veri Tipi',type)])
# agg ile belirtilen konumdaki değerlerin hangi işlemelrden geçmesini istiyorsak içerisine yazıyoruz.
#loc ile filtreleme
result = df.groupby('Departman')['Maaş'].agg([('Toplam',np.sum),('Ortalama',np.mean),('En yüksek',np.max),('En düşük',np.min)]).loc['Muhasebe']
''' loc ile bilgisi belirtilen Departmanların Maaşları arasından, 'Muhasebe'yi elde edebiliriz. '''
print(result)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment