详谈pandas中agg函数和apply函数的区别

yipeiwu_com6年前Python基础

在利用python进行数据分析 这本书中其实没有明确表明这两个函数的却别,而是说apply更一般化.

其实在这本书的第九章‘数组及运算和转换'点到了两者的一点点区别:agg是用来聚合运算的,所谓的聚合当然是合成的成分比较大些,这一节开头就点到了:聚合只不过是分组运算的其中一种而已。它是数据转换的一个特例,也就是说,它接受能够将一维数组简化为标量值的函数。

当然这两个函数都是作用在groupby对象上的,也就是分完组的对象上的,分完组之后针对某一组,如果值是一维数组,在利用完特定的函数之后,能做到简化的话,agg就能调用,反之,如果比如自定义的函数是排序,或者像是书中278页所定义的top这一类的函数,当然是agg所不能解决的,这时候用apply就可以解决。因为他更一般化,不存在什么简化,什么一维数组,什么标量值。

以上纯属个人见解,不喜勿喷。

这篇详谈pandas中agg函数和apply函数的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python读取网页内容的方法

本文实例讲述了Python读取网页内容的方法。分享给大家供大家参考。具体如下: import urllib2 #encoding = utf-8 class Crawler: d...

浅要分析Python程序与C程序的结合使用

浅要分析Python程序与C程序的结合使用

Python 是一种用于快速开发软件的编程语言,它的语法比较简单,易于掌握,但存在执行速度慢的问题,并且在处理某些问题时存在不足,如对计算机硬件系统的访问,对媒体文件的访问等。而作为软件...

Python中线程的MQ消息队列实现以及消息队列的优点解析

“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会...

python MysqlDb模块安装及其使用详解

python MysqlDb模块安装及其使用详解

python调用mysql数据库通常通过mysqldb模块,简单说下如何调用 1.安装驱动 目前有两个MySQL的驱动,我们可以选择其中一个进行安装: 1. MySQL-pytho...

Python3 处理JSON的实例详解

Python3 处理JSON的实例详解 真的好简单,灰常简单 import os, io, sys, re, time, base64, json import webbrowser...