Grupa PandBy

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

Grupowanie według — całkiem prosta koncepcja. Możemy stworzyć grupę kategorii i zastosować funkcję do kategorii. Jest to prosta koncepcja, ale jest to niezwykle cenna technika, która jest szeroko stosowana w danych nauka. W rzeczywistych projektach nauki danych będziesz mieć do czynienia z dużymi ilościami danych i staramy się robić różne rzeczy wielokrotnie, dlatego w celu zwiększenia wydajności stosujemy koncepcję Groupby. Koncepcja Groupby jest naprawdę ważna, ponieważ umożliwia wydajne łączenie danych, zarówno pod względem wydajności, jak i ilości kodu. Grupowanie odnosi się głównie do procesu obejmującego co najmniej jeden z następujących kroków:

  • Separacja: to proces, w którym dzielimy dane na grupy, stosując pewne warunki do zbiorów danych .
  • Zastosowanie: to proces, w którym niezależnie stosujemy funkcję do każdej grupy
  • Konsolidacja: to proces, w którym łączymy różne zestawy danych po zastosowaniu grupowania i wyników do struktury danych

Poniższy obraz pomoże Ci zrozumieć proces związany z koncepcją Groupby.
1. Pogrupuj unikalne wartości ‚Ę‚‚ ‚z kolumny „Drużyna”.

2. Dla każdej grupy istnieje teraz zasobnik

3. Wrzucaj inne dane do zasobników

4. Zastosuj funkcję do kolumny wagi dla każdego zasobnika.

Dzielenie danych na grupy

Podział — jest to proces, w którym dzielimy dane na grupy, stosując pewne warunki do zbiorów danych. Aby oddzielić dane, stosujemy określone warunki do zbiorów danych. Aby oddzielić dane, używamy groupby () ta funkcja służy do dzielenia danych na grupy według pewnych kryteriów . Obiekty Pandy można podzielić na dowolne ich osie. Abstrakcyjną definicją grupowania jest zapewnienie mapowania etykiet na nazwy grup. Zestawy danych Pandas można podzielić na dowolne obiekty. Istnieje kilka sposobów dzielenia danych, na przykład:

Uwaga: tutaj Grupowanie obiektów nazywamy kluczami.
Grupowanie danych za pomocą jednego klucza:
Aby pogrupować dane za pomocą jednego klucza, przekazujemy tylko jeden klucz jako argument do funkcja groupby .

< br>Teraz grupujemy dane Nazwa za pomocą funkcji groupby () .


# przy użyciu funkcji groupby
# z jednym klawiszem

df.groupby ( `Nazwa` )

print (df.groupby< /a> ( `Nazwa` ). grupy)

Wyjście:

Teraz drukujemy pierwsze rekordy we wszystkich utworzonych grupach .


# zastosuj Funkcja groupby () do
# grupowanie danych według wartości nazwy

gk = df.groupby ( `Nazwa` )


# Wydrukuj pierwsze wpisy
# we wszystkich wygenerowanych grupach.
gk.first ()

# import modułu pandas

import pandy jako pd


# Zdefiniuj słownik zawierający dane pracowników

data1 = { ` Nazwa` : [ `Jai` , `Anuj` , ` Jai` , ` Princi` ,

` Gaurav` , `Anuj` , `Princi` , `Abhi` ],

` Age` : [ 27 , 24 , 22 , 32 ,

33 , < klasa kodu = "value "> 36 , 27 , 32 ],

`Adres` : [ ` Nagpur` , `Kanpur ` , `Allahabad` , `Kannuaj` ‚Ęã‚Ęã ,

` Jaunpur` , `Kanpur` , `Allahabad` , ` Aligarh` ],

`Kwalifikacja` : [ `Msc` , ` MA` , `MCA` , ` Phd` ,

`B.Tech` , ` B.com` , `Msc` , ` MA` ]}


< br> # Konwertuj słownik na DataFrame

df = pd.DataFrame (data1)

print (df)

Wyjście:

Grupowanie danych z wieloma kluczami:
Aby zgrupować dane z wieloma kluczami, przesyłamy wiele kluczy w groupby funkcja.


# import modułu pandas

import pandy jako pd


# Zdefiniuj słownik zawierający dane pracowników

data1 = { `Nazwa` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , ` Anuj` , `Princi` , ` Abhi` ],

`Wiek` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

`Adres` : [ ` Nagpur` , `Kanpur` , ` Allahabad` , `Kannuaj` ‚ã‚Ęã ,

`Jaunpur` , `Kanpur` , ` Allahabad ` , `Aligarh` ],

`Kwalifikacja` : [ `Msc` , ` MA` , ` MCA` , ` Phd` ,

`B.Tech` , `B.com` , ` Msc` , `MA` ]}



# Konwertuj słownik w DataFrame

df = pd. DataFrame (data1)


print (df)


Teraz zgrupujemy dane imienia i kwalifikacji razem, używając wiele klawiszy w działaniu funkcji groupby .


# Używanie wielu kluczy w
# Funkcja groupby ()

df.groupby ([ ` Name` , `Kwalifikacja` ])


print (df.groupby ([ `Nazwa` , ` Qualification` ]). grupy)

Wyjście:

Grupowanie danych według sortowania kluczy:
Klucze grup są domyślnie sortowane podczas operacji zbiorczej. Użytkownik może przekazać sort = False dla możliwych przyspieszeń.


# import modułu pandas

importuj pandy jako pd


# Zdefiniuj słownik zawierający dane pracowników

data1 = { `Nazwa` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , `Anuj` , ` Princi` , `Abhi` ],

`Wiek` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],}



# Konwertuj słownik na DataFrame

df = pd.DataFrame (dane1)


print (df)


Teraz stosujemy groupby () bez sortowania



# za pomocą funkcji groupby
# bez sortowania


df.groupby ([ `Nazwa` ]). sum ()

Wyjście:

Teraz używamy groupby () przy użyciu sortowania w celu osiągnięcia potencjalnego przyspieszenia.


# przy użyciu groupby funkcja
# posortowane


df .groupby ([ `Nazwa` ], sort = False ). sum ( )

Wyjście:

Grupowanie danych z atrybutami obiektu:
Atrybut groups jest podobny do słownika, którego klucze są obliczane jako unikatowe grupy, a odpowiadające im wartości „Ęã‚Ęã są etykietami osi, należą do każdej grupy.


# import modułu pandy

import pandy jako pd


# Zdefiniuj słownik zawierający dane pracowników

data1 = { `Nazwa` : [ ` Jai` , `Anuj` , ` Jai ` , ` Princi` ,

`Gaurav` , ` Anuj` , `Princi` , ` Abhi` ],

`Wiek` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

`Adres` : [ ` Nagpur` , ` Kanpur` , `Allahabad` , ` Kannuaj` ‚ã‚Ęã ,

`Jaunpur` , `Kanpur` , ` Allahabad` , `Aligarh` ],

` Kwalifikacja` : [ `Msc` , `MA` , `MCA` , ` Phd` ,

`B .Tech` , `B.com` , ` Msc` , `MA` ]}



# Konwertuj słownik na DataFrame

df = pd.DataFrame (dane1)


print (df)


Teraz grupujemy dane, tak jak robimy to w słowniku, za pomocą klawiszy.

# za pomocą klawiszy grupujących
# dane


df.groupby ( ` Name` ). grupy

Wyjście:

Iterowanie po grupach

Do iterować po elemencie groups, możemy iterować po obiekcie podobnym do iterto.ols .


# import modułu pandas

importuj pandy jako pd


# Zdefiniuj słownik zawierający dane o pracownikach

data1 = { `Nazwa` : [ ` Jai` , ` Anuj` , `Jai` , `Princi` ,

`Gaurav` , ` Anuj ` , ` Princi` , `Abhi` ],

` Wiek` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 , 32 ],

` Adres` : [ ` Nagpur` , `Kanpur` , `Allahabad` , `Kannuaj` ‚ã‚Ęã ,

` Jaunpur ` , ` Kanpur` , `Allahabad` , ` Aligarh` ],

`Kwalifikacja` : [ `Msc` , `MA` , ` MCA` , `Phd` ,

`B.Tech` , ` B.com` , `Msc` , ` MA ` ]}


# Konwertuj słownik na DataFrame

df = pd.DataFrame (dane1)

drukuj < /kod> (df)


Teraz powtarzamy element group, tak jak w itertools.obj.


# powtórzenie elementu
Group #


grp = df.groupby ( `Nazwa` )

for nazwa, grupa in grp:

print (nazwa)

print (grupa)

print ()

Wyjście:

Teraz iterujemy nad elementem grupy zawierające wiele kluczy


# powtórzenie elementu
# grupy zawierającej
# wiele kluczy


grp = df.groupby ([ `Nazwa` , ` Kwalifikacja` ])

for nazwa, grupa w grp:

pr int (nazwa)

print (grupa)

print ( )

Wyjście:
Jak pokazano w danych wyjściowych, nazwa grupy będzie krotką

Wybór grupy

Aby wybrać group, możemy wybrać grupę za pomocą GroupBy.get_group() . Możemy wybrać grupę, stosując funkcję GroupBy.get_group ta funkcja wybierze jedną grupę.


# pandy import modułu

import pandy jako pd


# Zdefiniuj słownik zawierający dane pracowników

data1 = { `Nazwa` : [ `Jai` , ` Anuj` , `Jai` , ` Princi` ,

`Gaurav` , `Anuj` , ` Princi` , `Abhi` ],

drukuj (nazwa)

print (grupa)

print ()

Wyjście:
Jak pokazano w danych wyjściowych, nazwa grupy będzie krotka

Wybór grupy

Aby wybrać grupę, możemy wybrać grupę za pomocą GroupBy.get_group() . Grupę możemy wybrać za pomocą funkcji GroupBy.get_group ta funkcja wybierze jedną grupę .


# import modułu pandas

import pandy jako PD