Pandalar: gruplar içinde groupby ve sort nasıl kullanılır?
Pandas DataFrame’deki satırları gruplamak ve ardından gruplar içindeki değerleri sıralamak için aşağıdaki sözdizimini kullanabilirsiniz:
df. sort_values ([' var1 ',' var2 '],ascending= False ). groupby (' var1 '). head ()
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Pandas’ta GroupBy Kullanımı ve Gruplarda Sıralama
Diyelim ki iki farklı mağazada yapılan satışları gösteren aşağıdaki panda DataFrame’imiz var:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' store ': ['B', 'B', 'A', 'A', 'B', 'B', 'A', 'A'],
' sales ': [12, 25, 8, 14, 10, 20, 30, 30]})
#view DataFrame
print (df)
blind sales
0 B 12
1 B 25
2 to 8
3 to 14
4 B 10
5 B 20
6 to 30
7 to 30
Satırları mağaza sütununa göre gruplamak ve satış sütununa göre azalan düzende sıralamak için aşağıdaki sözdizimini kullanabiliriz:
#group by store and sort by sales values in descending order
df. sort_values ([' store ', ' sales '],ascending= False ). groupby (' store '). head ()
blind sales
1 B 25
5 B 20
0 B 12
4 B 10
6 to 30
7 to 30
3 to 14
2 to 8
Satış değerlerini artan düzende sıralamak için artan=Yanlış argümanını da kaldırabileceğimizi unutmayın:
#group by store and sort by sales values in ascending order
df. sort_values ([' store ',' sales ']). groupby (' store '). head ()
blind sales
2 to 8
3 to 14
6 to 30
7 to 30
4 B 10
0 B 12
5 B 20
1 B 25
head() fonksiyonunun grup başına yalnızca ilk 5 değeri görüntülediğini unutmayın.
Grup başına en iyi n değeri görüntülemek için bunun yerine head(n) komutunu kullanmanız yeterlidir.
Not : Pandalarda GroupBy işleminin tam belgelerini burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar: Grup başına kümülatif toplam nasıl hesaplanır?
Pandalar: benzersiz değerlerin gruba göre nasıl sayılacağı
Pandalar: gruba göre korelasyon nasıl hesaplanır