groupby
- Python kursu
- Orta seviye
- Ders 98/116
- 5 dk
groupby ile gruplamayı öğrenirsin.
groupby
groupby(iterable, key=fn) yinelenebilir bir nesnede ardışık aynı anahtara sahip öğeleri gruplar. Her grup bir (anahtar, grup_yineleyici) çifti olarak döner.
Önemli: groupby yalnızca ardışık aynı anahtarları gruplar. Verinin önceden anahtara göre sıralı olması gerekir; yoksa aynı anahtar birden çok grupta görünebilir. key verilmezse öğelerin kendisi anahtar sayılır.
Grup yineleyici tükenir
groupby'dan dönen grup g bir yineleyicidir. Bir kez dolaşınca tükenir; tekrar dolaşmak istersen boş döner. Bu yüzden grubu hemen list(g) ile listeye çevirmek yaygın bir yöntemdir.
Örnek: for k, g in groupby([1, 1, 2]):\n print(k, list(g)). Bu kod, her grup için anahtar ve liste halindeki öğeleri yazdırır. Grup yineleyicisini birden çok kez kullanmak istersen listeye çevirip sakla.
Uygulama groupby ile grupları say
from itertools import groupby ile başla. for k, g in groupby([1, 1, 2, 2, 3]): döngüsünü yaz. Gövdede print(k, len(list(g))) ile her grubun anahtarını ve sayısını yazdır.
Başlangıç kodu
# groupby ile grupları sayÖrnek çözüm
# groupby ile grupları say
from itertools import groupby
for k, g in groupby([1, 1, 2, 2, 3]):
print(k, len(list(g)))Beklenen çıktı
1 2 2 2 3 1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 groupby verinin ne olmasını bekler?
- Rastgele sıralı
- Ters sıralı
- Anahtara göre sıralı Doğru cevap
- Sıralanmamış
Açıklama: groupby, verinin anahtara göre sıralı olmasını bekler.
2 groupby döngüsü
from itertools import groupby
for k, g in ____([1, 1, 2, 2, 3]):
print(k, len(list(g)))
from itertools import groupby
for k, g in groupby([1, 1, 2, 2, 3]):
print(k, len(list(g)))
Açıklama: groupby ile ardışık gruplar oluşturulur.
3 groupby parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
groupby |
Gruplama işlevi |
key |
Anahtar işlevi |
(k, g) |
Anahtar ve grup |
list(g) |
Listeye çevirme |