数据处理(二)数据聚合

数据聚合是数据处理阶段的最后一步,通常要使每一个数组生成一个单一的数值。
数据分类处理:
分组:先把数据分为几组
用函数处理:为不同组的数据应用不同的函数以转换数据
合并:把不同组得到的结果合并起来
数据分类处理的核心: 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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章