Groupby —很簡單的概念。我們可以創建一組類別並將函數應用於類別。這是一個簡單的概念,但它是一種非常有價值的技術,廣泛用於 數據科學。在現實世界的 數據科學 項目中,您將處理大量數據並嘗試重複做事,因此為了提高效率,我們使用了 Groupby 概念。 Groupby 概念非常重要,因為它能夠有效地組合數據,無論是在性能方面還是在代碼量方面。分組主要是指涉及以下一個或多個步驟的過程:
- 分離:是我們通過對數據集應用一些條件將數據分組的過程.
- 應用:是我們將一個函數獨立地應用到每個組的過程
- 合併:是一個過程,其中我們在應用分組後將不同的數據集和結果組合成一個數據結構
下圖將幫助您理解 Groupby 概念所涉及的過程。
1.將“團隊”列中的唯一值“Äã”分組。
2.現在每個組都有一個存儲桶
3.將其他數據放入存儲桶
4.將該函數應用於每個桶的權重列。
將數據分組
拆分 —這是一個通過對數據集應用一些條件來將數據分組的過程。為了分離數據,我們將某些條件應用於數據集。為了分離數據,我們使用 groupby ()
這個函數用於將數據按照一些標准進行分組. Pandas 對象可以細分為它們的任何軸。分組的抽象定義是提供標籤到組名的映射。 Pandas 數據集可以拆分為任何對象。拆分數據有幾種方式,例如:
注意:這裡我們將對象分組稱為鍵。
用一個鍵對數據進行分組:
要用一個鍵對數據進行分組,我們只需將一個鍵作為參數傳遞給 groupby
函數。
< br>
|
< 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 ()
無排序
# 使用 groupby 函數
# 不使用排序
df.groupby ([
`名稱`
])。
sum
()
輸出:
現在我們使用 groupby ()
使用排序實現潛在的加速。
輸出: 用對象屬性分組數據:
<代碼類=“評論” > # 使用分組鍵
|
輸出:
遍歷組
到遍歷組項,我們可以遍歷類似於 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 < /代碼>
我們現在像在 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