pandas 高階處理 分組與聚合

2021-09-26 05:32:59 字數 2135 閱讀 2476

分組與聚合通常是分析資料的一種方式,通常與一些統計函式一起使用,檢視資料的分組情況

想一想其實剛才的交叉表與透視表也有分組的功能,所以算是分組的一種形式,只不過他們主要是計算次數或者計算比例!!看其中的效果:

案例:不同顏色的不同筆的**資料

col =pd.dataframe(

)color object price1 price2

0 white pen 5.56

4.75

1 red pencil 4.20

4.12

2 green pencil 1.30

1.60

3 red ashtray 0.56

0.75

4 green pen 2.75

3.15

# 分組,求平均值

col.groupby(

['color'])

['price1'

].mean(

)col[

'price1'

].groupby(col[

'color'])

.mean(

)color

green 2.025

red 2.380

white 5.560

name: price1, dtype: float64

# 分組,資料的結構不變

col.groupby(

['color'

], as_index=

false)[

'price1'

].mean(

)color price1

0 green 2.025

1 red 2.380

2 white 5.560

現在我們有一組關於全球星巴克店鋪的統計資料,如果我想知道美國的星巴克數量和中國的哪個多,或者我想知道中國每個省份星巴克的數量的情況,那麼應該怎麼辦?

資料**

從檔案中讀取星巴克店鋪資料

# 匯入星巴克店的資料

starbucks = pd.read_csv(

"./data/starbucks/directory.csv"

)

# 按照國家分組,求出每個國家的星巴克零售店數量

count = starbucks.groupby(

['country'])

.count(

)

畫圖顯示結果

假設我們加入省市一起進行分組

# 設定多個索引,set_index()

細觀察這個結構,與我們前面講的哪個結構類似??

與前面的multiindex結構類似

注意:pandas中,拋開聚合談分組,無意義

pandas 分組聚合

綜合使用 資料鏈結 統計每個國家的星巴克的數量 按照單字段聚合 codeing utf 8 import pandas as pd import numpy as np df pd.read csv data starbucks store worldwide.csv 按國家進行分組後會有很多列 然...

pandas聚合運算,分組運算

分組運算,先根據一定規則拆分後的資料,然後對資料進行聚合運算,如前面見到的 mean sum 等就是聚合的例子。聚合時,拆分後的第乙個索引指定的資料都會依次傳給聚合函式進行運算。最後再把運算結果合併起來,生成最終結果。先生成乙個dataframe 用key1的索引分類再求平均 df.groupby ...

pandas資料分組和聚合操作

python for data analysis dataframe可以在其行 axis 0 或列 axis 1 上進行分組。然後,將乙個函式應用到各個分組並產生新值。最後,所有這些函式的執行結果會被合併到最終的結果物件中去。groupby的size方法可以返回乙個含有分組大小的series。for...