pandas groupby agg中使用自定义函数

  统计/机器学习 数据预处理 Python    浏览次数:11362        分享
2

我有一个关于python编程的问题。用pandas我们可以进行groupby和agg的操作,比如

>>> df.groupby('my_col').agg(['mean', 'max'])

我们可以求每组的mean和max。如果我现在要在每组上用我的自定义的函数,该如何调用?

 

xiaojr   2018-07-26 11:07



   1个回答 
9

先写出自己定义的函数f,比如说我们要知道最大值和中位数的差

def my_func(x):
    res = max(x) - np.median(x)
    return res

df.groupby('my_col').agg([my_func])

如果有多个自定义的函数的话

df.groupby('loc_id').agg([my_func1, my_func2, my_func3])


SofaSofa数据科学社区DS面试题库 DS面经

WinJ   2018-07-26 22:25

感谢!正在找这个功能呢! - 何立诚   2019-08-22 00:18


  相关讨论

怎么对pandas dataframe的列求众数

pandas dataframe对行去重?

pandas groupby返回组内排序

怎么把collections.Counter的计数结果转为pandas的DataFrame

pandas怎么求一列的移动中位数?

嵌套dictionary类型数据转成pandas dataframe的问题

pandas df怎么根据weekgroup补齐没有的行呢

pandas 如何扔掉同时满足两个特征过滤条件的数据?

对pandas.DataFrame进行groupby结果中index的问题

Python Pandas loc切片问题

  随便看看

线性回归是机器学习算法吗?

pandas.DataFrame选取最后k行

'numpy.ndarray' object has no attribute 'head'

sklearn模型当中的verbose是什么意思?

神经网络中的dense和sparse是什么意思?