分組與聚合通常是分析資料的一種方式,通常與一些統計函式一起使用,檢視資料的分組情況
想一想其實剛才的交叉表與透視表也有分組的功能,所以算是分組的一種形式,只不過他們主要是計算次數或者計算比例!!看其中的效果:
案例:不同顏色的不同筆的**資料
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...