Grup — oldukça basit bir kavram. Bir kategori grubu oluşturabilir ve işlevi kategorilere uygulayabiliriz. Bu basit bir kavramdır, ancak data`da yaygın olarak kullanılan son derece değerli bir tekniktir. bilim. Gerçek dünya veri bilimi projelerinde büyük miktarlarla uğraşacaksınız veri toplama ve bir şeyleri tekrar tekrar yapmaya çalışma, bu nedenle verimlilik için Groupby konseptini kullanıyoruz. Groupby konsepti, verileri hem performans hem de kod miktarı açısından verimli bir şekilde birleştirebildiği için gerçekten önemlidir. Gruplama esas olarak aşağıdaki adımlardan bir veya daha fazlasını içeren bir süreci ifade eder:
- Ayırma: , veri kümelerine bazı koşullar uygulayarak verileri gruplara ayırdığımız bir süreçtir. .
- Uygulama: , her gruba bağımsız olarak bir işlev uyguladığımız bir süreçtir
- Birleştirme: , gruplama ve sonuçları bir veri yapısında uyguladıktan sonra farklı veri kümelerini birleştiririz
Aşağıdaki resim, Groupby konseptiyle ilgili süreci anlamanıza yardımcı olacaktır.
1. "Ekip" sütunundaki benzersiz değerleri ‚Äã‚Äã gruplayın.
2. Artık her grup için bir paket var
3. Diğer verileri kovalara atın
4. İşlevi her bir paket için ağırlık sütununa uygulayın.
Verileri gruplara ayırma
Bölme — veri kümelerine bazı koşullar uygulayarak verileri gruplara ayırdığımız bir işlemdir. Verileri ayırmak için veri kümelerine belirli koşullar uygularız. Verileri ayırmak için groupby ()
kullanırız bu fonksiyon verileri bazı kriterlere göre gruplara ayırmak için kullanılır . Panda nesneleri, eksenlerinden herhangi birine bölünebilir. Gruplandırmanın soyut bir tanımı, etiketlerin grup adlarına eşlenmesini sağlamaktır. Pandalar veri kümeleri herhangi bir nesneye bölünebilir. Verileri bölmenin birkaç yolu vardır, örneğin:
- obj.grupla (anahtar)
Not: burada nesneleri gruplandırmaya anahtarlar olarak atıfta bulunuruz.
Verileri tek bir anahtarla gruplandırma:
Verileri tek bir anahtarla gruplamak içingrupla
işlevi.# pandas module import
import
pandaları pd olarak
# Çalışan verilerini içeren bir sözlük tanımlayın
data1
=
{
` Ad`
: [
`Jai`
,
`Anuj` ,
` Jai`
,
` Princi`
,
` Gaurav`
,
`Anuj`
, `Princi`
,
`Abhi`
],
` Age`
: [
27 , 24 , 22 , 32 , 33 , < kod sınıfı = "değer "> 36 , 27 , 32 ],
`Adres`
: [ ` Nagpur`
,
`Kanpur `
,
`Allahabad`
,
`Kannuaj` ​​
,
` Jaunpur`
,
`Kanpur`
,
`Allahabad`
,
` Aligarh`
],
`Nitelik`
: [
`Msc`
,
` MA`
,
`MCA`
,
` Phd`
,
`B.Tech`
,
` B.com`
,
`Msc`
, ` MA`
]}
< br>
# Sözlüğü DataFrame`e dönüştür
df
=
pd.DataFrame (veri1) yazdır (df) < br>Şimdi
groupby ()
işlevini kullanarakAd
verilerini gruplandırıyoruz.
# groupby işlevini kullanarak
# tek tuşla
df.groupby (
`Ad`
)
yazdır
(df.grupla< /a> (
`Ad` ). grupları) Çıktı:
Şimdi oluşturulan tüm gruplardaki ilk kayıtları yazdırıyoruz.
# groupby () işlevi
veriyi ad değerine göre gruplandırmak
gk
=
df.groupby (
`Ad`
)
# Oluşturulan tüm gruplarda ilk girişleri yazdır
#.
gk.first ()
Çıktı:
Verileri birden çok anahtarla gruplama:
Verileri birden çok anahtarla gruplamak içingroupby
işlevi.
# pandas modülü içe aktarma
import
pandaları pd olarak
# Çalışan verilerini içeren bir sözlük tanımlayın
data1
=
{
`Ad`
: [
`Jai`
,
` Anuj`
,
`Jai`
,
` Princi`
,
`Gaurav`
,
` Anuj`
,
`Princi`
,
` Abhi`
],
`Yaş`
: [
27
,
24
,
22
,
32
, 33 , 36 , 27 , 32 ], `Adres` : [ ` Nagpur`
,
`Kanpur`
,
` Allahabad`
,
`Kannuaj` ​​
,
`Jaunpur`
,
`Kanpur`
,
` Allahabad `
,
`Aligarh`
],
`Nitelik`
: [
`Msc`
,
` MA`
,
` MCA`
,
` Phd`
,
`B.Tech`
,
`B.com`
,
` Msc`
,
`MA`
]}
# DataFrame`de sözlüğü dönüştür
df = pd. DataFrame (data1) print (df)
Şimdi Ad ve Nitelik verilerini birlikte gruplayacağız.groupby
işlevinde birden çok anahtar çalışır.#
# groupby () işlevi
df.groupby ([
` Name`
,
`Nitelik`
])
yazdır (df.groupby ([ `Ad`
,
` Qualification`
]). grupları)
Çıktı:
Anahtar sıralamasına göre verileri gruplama:
Grup anahtarları, toplu işlem sırasında varsayılan olarak sıralanır. Kullanıcı, olası hızlandırmalar içinsort = False
iletebilir.
# pandas module import
import
pandaları pd olarak
# Çalışan verilerini içeren bir sözlük tanımlayın
data1
=
{
`Ad`
: [
`Jai`
,
` Anuj`
,
`Jai`
,
` Princi`
,
`Gaurav`
,
`Anuj`
, ` Princi`
,
`Abhi`
],
`Yaş`
: [
27
,
24 , 22 , 32
,
33 , 36 , 27 , 32 ],}
# Sözlüğü DataFrame`e dönüştür
< kod sınıfı = "düz"> df
= pd.DataFrame (veri1) print
(df)
Şimdigroupby ()
sıralama yok
# groupby işlevini kullanarak
# sıralama kullanmadan
df.groupby ([
`Ad`
]). toplam
()
< güçlü>Çıktı:
Artıkgroupby ()
kullanarak olası hızlanma elde edin.# kullanarak groupby işlevi
# sıralı
df .groupby ([
`Ad`
], sort
=
False
).
toplam
( )
< güçlü>Çıktı:
Verileri nesne nitelikleriyle gruplandırma:
groups özelliği, anahtarları benzersiz gruplar olarak hesaplanan bir sözlüğe benzer ve karşılık gelen değerler ‚Äã‚Äã eksen etiketleridir ve her gruba aittir.
# pandas module import
import
pandas as as pd
# Çalışan verilerini içeren bir sözlük tanımlayın
data1
=
{
`Ad`
: [
` Jai`
,
`Anuj`
, ` Jai `
,
` Princi`
,
`Gaurav`
,
` Anuj`
,
`Princi`
,
` Abhi`
],
`Yaş`
: [
27
,
24 , 22 , 32 , 33 , 36 , 27 , 32 ], `Adres`
: [
` Nagpur`
,
` Kanpur`
,
`Allahabad`
,
` Kannuaj` ​​
,
`Jaunpur`
,
`Kanpur`
,
` Allahabad`
,
`Aligarh`
],
` Nitelik`
< kod sınıfı = "düz">: [`Msc` , `MA`
,
`MCA`
,
` Phd`
,
`B .Tech`
,
`B.com`
,
` Msc`
,
`MA`
]}
# Sözlüğü DataFrame`e dönüştür
df
= pd.DataFrame (veri1) < kod sınıfı = "işlevler"> yazdır
(df)
Artık verileri sözlükte yaptığımız gibi anahtarları kullanarak gruplandırıyoruz.# gruplama anahtarlarını kullanma # data
df.groupby (
` Name`
). gruplar
Çıktı:
Gruplar üzerinde yineleme
Kime gruplar öğesi üzerinde yineleme, iterto.ols`a benzer bir nesne üzerinde yineleme yapabiliriz.
# pandas module import
import
pandaları pd olarak
# Çalışanlarla ilgili verileri içeren sözlüğü tanımlayın
data1
=
{
`Ad`
: [
` Jai`
, ` Anuj`
,
`Jai`
,
`Princi`
,
`Gaurav`
,
` Anuj `
,
` Princi`
,
`Abhi`
],
` Age`
: [
27 , 24 , 22 , 32 , 33 , 36 , 27 , 32 ],
` Adres`
: [
` Nagpur`
,
`Kanpur`
,
`Allahabad`
,
`Kannuaj` ​​
,
` Jaunpur `
,
` Kanpur`
,
`Allahabad`
,
` Aligarh`
],
`Nitelik`
: [
`Msc`
,
`MA`
,
` MCA`
,
`Phd`
,
`B.Tech`
,
` B.com`
,
`Msc`
,
` MA `
]}
# Sözlüğü DataFrame`e dönüştür
df
=
pd.DataFrame (veri1)
yazdır < /kod> (df)
Şimdi grup öğesini tıpkı itertools.obj`da yaptığımız gibi tekrarlıyoruz.
# element tekrarı
Grup #
grp
=
df.groupby (
`Ad`
)
ad, grup
içingrp:
yazdır
(ad)
yazdır
(grup)
print
()
Çıktı:
Şimdi bir grup öğesini yineliyoruz birden fazla anahtar içeren# öğe tekrarı
# birden çok anahtar içeren grubun # numarası grp =
df.groupby ([
`Ad`
,
` Nitelik`
]) için ad, grup grp:
yazdırma (ad) yazdır (grup) yazdır ( ) Çıktı:
Çıktıda gösterildiği gibi, grup adı bir demet olacaktırGrup seçimi
Bir grup,
GroupBy.get_group()
kullanarak bir grup seçebiliriz.GroupBy.get_group
fonksiyonunu uygulayarak bir grup seçebiliriz bu fonksiyon bir grup seçecektir.
# pandas modül içe aktarma
içe aktarma pandaları pd olarak # Çalışan verilerini içeren bir sözlük tanımlayın
data1
=
{
`Ad`
: [
`Jai`
,
` Anuj`
,
`Jai`
,
` Princi`
,
`Gaurav`
,
`Anuj`
, ` Princi` ,
`Abhi`
],
yazdır (ad) yazdır (grup) yazdır () Çıktı:
Çıktıda gösterildiği gibi, grup adı bir demetGrup seçimi
Bir grup seçmek için
GroupBy.get_group ()
kullanarak bir grup seçebiliriz.GroupBy.get_group
fonksiyonunu uygulayarak bir grup seçebiliriz bu fonksiyon bir grup seçecektir. .
# pandas modülü içe aktarma
içe aktarma
pd olarak pandalar