pandas groupby agg中使用自定义函数

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

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

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

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

 

xiaojr   2018-07-26 11:07



   1个回答 
5

先写出自己定义的函数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面经 问答 实战

WinJ   2018-07-26 22:25



  相关主题

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

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

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

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

pd.read_csv读取数据时自动跳过空白行   1回答

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

pandas.DataFrame的index重新排列(从0开始)   2回答

找到pd.DataFrame中某个列名对应的下标?   1回答

pandas DataFrame中经常出现SettingWithCopyWarning   2回答

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

pandas pop KeyError求帮助!   3回答

pandas操作出现ValueError: The truth value of a Series is ambiguous.   1回答



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

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

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

我们谢绝答非所问。

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

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