聚合是指所有根据数组产生标量值的数据转换过程。之前的例子已经使用了一些聚合操作,包括mean、count、min和sum等。
下表展示了优化的groupby方法。
可以使用自行制定的聚合,并再调用已经在分组对象上定义好的方法。
尽管quantile并不是显式地为GroupBy对象实现的,但它是Series的方法,因此也可以用于聚合。在内部,GroupBy有效地对Series进行切片,为每一块调用piece. quantile(0.9),然后将这些结果一起组装到结果对象中:
要使用你自己的聚合函数,需要将函数传递给aggregate或agg方法:
一些方法,比如describe也是有效的,尽管严格来说它们并不是聚合函数:
注意:自定义聚合函数通常比表10-1中的优化函数慢得多。这是因为在构造中间组数据块时有一些额外的开销(函数调用、数据重新排列)。
让我们回到之前例子中的小费数据集。在使用read_csv载入数据集后,增加一个小费比例列tip-pct:
对Series或DataFrame所有列进行聚合就是使用aggregate和所需函数,或者是调用像mean或std这种方法的。首先,将根据day和smoker来对tips进行分组:
可以将函数名以字符串形式传递:
如果传递的是函数或者函数名的列表,会获得一个列名是这些函数名的DataFrame:
传递了聚合函数的列表给agg方法,这些函数会各自运用于数据分组。
在DataFrame中,有更多的选项,可以指定应用到所有列上的函数列表或每一列上要应用的不同函数。计算tip_pct列和total_bill列的三个相同的统计值:
产生的DataFrame拥有分层列,与分别聚合每一列,再以列名作为keys参数使用concat将结果拼接在一起的结果相同:
在前面所有的例子中,聚合数据返回时都是带有索引的,有时索引是分层的,由唯一的分组键联合形成。因为不是所有的情况下都需要索引,所以在大多数情况下可以通过向groupby传递as_index=False来禁用分组键作为索引的行为:
当然,通过在结果上调用reset_index也可以获得同样的结果。使用as_index=False可以避免一些不必要的计算。
聚圣源和瑜字搭配女孩起名蚂蚁的作文水煮鱼起名宝宝起名免费 宝典我的体育老师剧情介绍男孩新生起名注册钢材公司起名幸福巧克力itunes64免费起店姓名测试结果打分卤味店起名催熟PO全文TXT朝花夕拾好词好句摘抄hao315水游城假日酒店猪宝起名以鱼为特色的饭店起名大全开店起名网免费起名大全性感沙滩3完美存档女孩起名 金姓displayport接口生辰八字测算起名下载起名大全免费中日军事力量对比不爱红装爱武装起名字网站免费三藏起名网取名免费有关饭店起名腊月出生的猪宝宝名字怎么起足球小将世青篇淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费
评论区(0)