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>
|
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
,
],
`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)
(df)
Teraz zgrupujemy dane imienia i kwalifikacji razem, używając wiele klawiszy w działaniu funkcji groupby
.
Wyjście: Grupowanie danych według sortowania kluczy:
|
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.
Wyjście: Grupowanie danych z atrybutami obiektu:
|
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>
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