我有一个关于python编程的问题。用pandas我们可以进行groupby和agg的操作,比如
>>> df.groupby('my_col').agg(['mean', 'max'])
我们可以求每组的mean和max。如果我现在要在每组上用我的自定义的函数,该如何调用?
1个回答
先写出自己定义的函数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])
相关主题
pandas报错ValueError: Cannot convert non-finite values (NA or inf) to integer
1回答
pd Series的用法问题
1回答
怎么把collections.Counter的计数结果转为pandas的DataFrame
2回答
pandas操作出现ValueError: The truth value of a Series is ambiguous.
1回答
将pandas.DataFrame中的-1全部换成0
1回答
怎么改变pandas dataframe里column的顺序?
1回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!