數據處理(二)數據聚合

數據聚合是數據處理階段的最後一步,通常要使每一個數組生成一個單一的數值。
數據分類處理:
分組:先把數據分爲幾組
用函數處理:爲不同組的數據應用不同的函數以轉換數據
合併:把不同組得到的結果合併起來
數據分類處理的核心: groupby()函數
df=DataFrame({'color':['red','green','red','blue','green'],
              'item':['pen','pencil','book','cup','watch'],
             'price1':np.random.rand(5),
             'price2':np.random.rand(5)})
df
如果使用color列索引,計算price1的均值,可以先獲取到price1列,然後再調用groupby函數,用參數指定color這一列
.groupby('以其爲索引的列名')['要計算的列名']
g=df.groupby('color')['price1']
g
將其整合之後,可以利用其實現各種操作:
g.sum()    #求price的和
g.mean()   #求price的平均值
g.max()   
g.min()
============================================
練習:
假設菜市場張大媽在賣菜,有以下屬性:
菜品(item):蘿蔔,白菜,辣椒,冬瓜
顏色(color):白,青,紅
重量(weight)
價格(price)
要求以屬性作爲列索引,新建一個ddd
對ddd進行聚合操作,求出顏色爲白色的價格總和
對ddd進行聚合操作,求出蘿蔔的所有重量(包括白蘿蔔,胡蘿蔔,青蘿蔔)以及平均價格
ddd=DataFrame({'item':['蘿蔔','蘿蔔','辣椒','白菜','瓜','瓜'],
    'color':['white','green','red','green','white','green'],
   'weight':[10,20,22,20,10,34],
   'price':[1.2,3.4,5.6,6.7,7.8,8.9]})
ddd
對ddd進行聚合操作,求出顏色爲白色的價格總和
dw=ddd.groupby('color')['price']
dw.sum()['white']
對ddd進行聚合操作,求出蘿蔔的所有重量(包括白蘿蔔,胡蘿蔔,青蘿蔔)以及平均價格
dh=ddd.groupby('item')['price','weight']
dh
dh.sum()['weight']['蘿蔔']
dh.mean()['price']['蘿蔔']
發佈了39 篇原創文章 · 獲贊 16 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章