資料分組技術GroupBy

2021-09-10 07:28:22 字數 2074 閱讀 5666

其中包括四行:日期、城市、溫度、風力。它的大小為20行。

加入這裡按照city這一列進行分組:

g = df.groupby(df['city'])
得到乙個dataframegroupby 型別的物件:

g.get_group('bj')      # 檢視某乙個分組
他相當於把city為bj的行都過濾出來,並形成了乙個新的dataframe

df_bj = g.get_group('bj')

df_bj.mean() # 將北京的行求平均

g.mean() # 對整個表求平均

g.max() # 對整個表求最大值

g.min() # 對整個表求最小值

以求平均值為例:

groupby對乙個group中的某一組取平均值,得到的結果為series,而對整個分組物件取平均值,得到的是dataframe。所以對整個分組物件取平均值的過程就是分別對每一組取平均值然後combine。

轉換成列表直接通過list方法,然後每乙個分組就是字典中的乙個元素:

dict(list(g))           # 所有分組

dict(list(g))['bj'] # 按照bj分組

轉換成字典需要先通過list轉換成列表然後通過dict轉換成字典,其中key就是分組指定的依據(city),value是乙個dataframe:

//類似於sql中的

可以通過agg方法傳入需要使用的聚合的函式,來對資料進行聚合:

也可以通過傳入自定義的聚合函式來得到聚合的結果:

sql分組資料GROUP BY

分組是使用select語句的group by子句建立的。理解分組最好的辦法就是看乙個例子 輸入 select vend id count as num prods from products group by vend id 輸出 vend id num prods brs01 3 dll01 4 ...

linq 資料分組group by

var results from p in persons group p.car by p.personid into g select new linq在資料分組時,不會像資料庫group by那樣,表面上只返回group by後的一條資料,而是根據要分組的條件,把資料匯聚成乙個字典,字典的鍵為...

pandas資料分組運算 groupby

1 按列分組 import pandas as pd import numpy as np df dataframe dfdata1 data2 key1 key2 0 1.488061 0.002241 aone 10.707773 0.338733 atwo 2 1.689161 0.64764...