Pandalar GrubuTarafından

| | | | | | | | | | | | | | | | | | | | | |

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çin grupla işlevi.

    < br>Şimdi groupby () işlevini kullanarak Ad 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 ()

    # 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)

    Çıktı:

    Verileri birden çok anahtarla gruplama:
    Verileri birden çok anahtarla gruplamak için groupby 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çin sort = 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)


    Şimdi groupby () sıralama yok



    # groupby işlevini kullanarak
    # sıralama kullanmadan


    df.groupby ([ `Ad` ]). toplam ()

    < güçlü>Çıktı:

    Artık groupby () 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çin içinde grp:

    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ır

    Grup 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 demet

    Grup 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