pandas groupby agg中使用自定义函数

  统计/机器学习 数据预处理 Python    浏览次数: 138
1

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

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

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

 

xiaojr   2018-07-26 11:07



   1个回答 
4

先写出自己定义的函数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])


WinJ   2018-07-26 22:25



  相关主题

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

怎么对pandas dataframe的列求众数   2回答

pandas怎么读入tsv格式的数据   1回答

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

行数很多的pandas DataFrame如何在jupyter中完整显示?   1回答

去掉pandas DataFrame的index的名字   2回答

pd.dataframe怎么同时对两个key排序?   1回答

怎么把pandas dataframe中的一列转成一个list?   3回答

把pandas df写入csv时UnicodeEncodeError   1回答

pandas的DataFrame如何插入带有index的行数据?   1回答

pandas df.head()报错AttributeError: 'NoneType' object has no attribute 'head'   1回答

pandas读取csv中指定的某些列   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!