Pandas GroupBy

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

Groupby —很簡單的概念。我們可以創建一組類別並將函數應用於類別。這是一個簡單的概念,但它是一種非常有價值的技術,廣泛用於 數據科學。在現實世界的 數據科學 項目中,您將處理大量數據並嘗試重複做事,因此為了提高效率,我們使用了 Groupby 概念。 Groupby 概念非常重要,因為它能夠有效地組合數據,無論是在性能方面還是在代碼量方面。分組主要是指涉及以下一個或多個步驟的過程:

  • 分離:是我們通過對數據集應用一些條件將數據分組的過程.
  • 應用:是我們將一個函數獨立地應用到每個組的過程
  • 合併:是一個過程,其中我們在應用分組後將不同的數據集和結果組合成一個數據結構

下圖將幫助您理解 Groupby 概念所涉及的過程。
1.將“團隊”列中的唯一值“Äã”分組。

2.現在每個組都有一個存儲桶

3.將其他數據放入存儲桶

4.將該函數應用於每個桶的權重列。

將數據分組

拆分 —這是一個通過對數據集應用一些條件來將數據分組的過程。為了分離數據,我們將某些條件應用於數據集。為了分離數據,我們使用 groupby () 這個函數用於將數據按照一些標准進行分組. Pandas 對象可以細分為它們的任何軸。分組的抽象定義是提供標籤到組名的映射。 Pandas 數據集可以拆分為任何對象。拆分數據有幾種方式,例如:

注意:這裡我們將對象分組稱為鍵。
用一個鍵對數據進行分組:
要用一個鍵對數據進行分組,我們只需將一個鍵作為參數傳遞給 groupby 函數。

#熊貓模塊導入

import pandas as pd


# 定義一個包含員工數據的字典

data1 = { ` 名稱` : [ `Jai` , `Anuj` , ` Jai` , ` Princi` ,

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

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

33 , <代碼類 = "value "> 36 , 27 , 32 ],

`地址` : [ `Nagpur` , `Kanpur ` , `Allahabad` , `Kannuaj` ,Äã,Äã ,

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

`資格` : [ `Msc` , ` MA` , `MCA` , `Phd` ,

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


< br> # 將字典轉換為 DataFrame

df = pd.DataFrame(data1)

print (df)

< br>現在我們使用 groupby () 函數對數據 Name 進行分組。


# 使用 groupby 函數 code>
# 一鍵

df.groupby ( `Name` )

print (df.groupby< /a> ( `Name` )。組)

輸出:

現在我們打印所有形成的組中的第一條記錄。


# 應用groupby () 函數來
# 按名稱值分組數據

gk = df.groupby ( `Name` )


# 打印第一個條目
# 在所有生成的組中。
gk.first()

輸出:

用多個key對數據進行分組:
為了用多個key對數據進行分組,我們在groupby function.


# pandas module import

import pandas as pd


# 定義一個包含員工數據的字典

data1 = { `名稱` : [ `Jai` , `Anuj` , `Jai` , `Princi` ,

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

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

33 , 36 , 27 , <代碼分類ss = "value"> 32 ],

`地址` : [ ` Nagpur` , `Kanpur` , `阿拉哈巴德` , `Kannuaj` ,Äã,Äã ,

`Jaunpur` , `Kanpur` , ` 阿拉哈巴德` , `Aligarh` ],

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

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



# 轉換 DataFrame 中的字典

df = pd. DataFrame (data1)


print (df)


現在我們將使用
groupby 函數中的多個鍵起作用。


# 在
#groupby()函數

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


print (df.groupby ([ `名稱` , ` Qualification` ])。組)

輸出:

按鍵排序分組數據:
批量操作時默認對分組按鍵進行排序。用戶可以通過 sort = False 以獲得可能的加速。


# pandas module import

import pandas as pd


# 定義一個包含員工數據的字典

data1 = { `名稱` : [ `Jai` , `Anuj` , `Jai` , ` Princi` ,

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

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

33 , 36 , 27 , 32 ],}



# 將字典轉換為 DataFrame

df = pd.DataFrame (data1)


print (df)


現在我們正在申請groupby () 無排序



# 使用 groupby 函數
# 不使用排序


df.groupby ([ `名稱` ])。 sum ()

輸出:

現在我們使用 groupby () 使用排序實現潛在的加速。


# 使用 groupby function
# sorted


df .groupby ([ `Name` ],排序 = False )。 sum ( )

輸出:

用對象屬性分組數據:
groups 屬性類似於字典,其鍵是計算出來的唯一組,對應的值是軸標籤,屬於每個組。


# pandas module import

import pandas as pd


# 定義一個包含員工數據的字典

data1 = { `名稱` : [ `Jai` , `Anuj` <代碼類="plain ">, `Jai` , `Princi` ,

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

`年齡` : [ 27 , 24 , 22 , 32 ,

33 , 36 , 27 32 ],

`地址` : [ ` Nagpur` , ` Kanpur` , `Allahabad` , ` Kannuaj` ‚Äã‚Äã ,

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

`限定符` : [ `Msc` , `MA` , `MCA` , `Phd` ,

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



# 將字典轉換為 DataFrame

df = pd.DataFrame (data1)


print (df)


現在我們像在字典中一樣使用鍵對數據進行分組。

<代碼類=“評論” > # 使用分組鍵
# data


df.groupby ( `Name` )。組

輸出:

遍歷組

到遍歷組項,我們可以遍歷類似於 iterto.ols 的對象。


# pandas module import

import pandas as pd


# 定義包含員工數據的字典

data1 = { `名稱` : [ ` Jai` , `Anuj` , `Jai` , `Princi` ,

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

`Age` : [ 27 , 24 , 22 , 32 代碼> ,

33 , 36 , 27 , 32 ],

`地址` : [ ` Nagpur` , `Kanpur` , `Allahabad` , `Kannuaj` ,Äã,Äã ,

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

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

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


# 將字典轉換為 DataFrame

df = pd.DataFrame(data1)

print < /代碼> (df)


我們現在像在 itertools.obj 中一樣重複 group 元素。


# 元素重複
Group #


grp = df.groupby ( `Name` )

for 名稱,組 in grp:

打印 (名稱)

打印 (組)

print ()

輸出:

現在我們遍歷一個組元素包含多個鍵


# element repeat
# 包含組的
# 多個鍵


grp = df.groupby ([ `名稱` , ` Qualification` ])

for 名稱,組 in grp:

pr int (name)

print (組)

print ( )

輸出:
如輸出所示,組名將是一個元組

組選擇

選擇一個組,我們可以使用 GroupBy.get_group () 選擇一個組。我們可以通過應用函數 GroupBy.get_group 來選擇一個組,這個函數將選擇一個組。


# pandas模塊導入

import pandas as pd


# 定義一個包含員工數據的字典

data1 = { `名稱` : [ `Jai` , ` Anuj` , `Jai` , `Princi` ,

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

print (name)

print (組)

print ()

輸出:
如輸出所示,組名將是一個元組

組選擇

要選擇一個組,我們可以使用 GroupBy.get_group () 選擇一個組。我們可以通過應用 GroupBy.get_group 函數來選擇一個組,這個函數將選擇一個組.


# pandas 模塊導入

import <代碼類=“普通"> pandas as pd