Python pandas:相当于SQL聚合函数?

时间:2015-04-16 10:58:59

标签: python sql pandas

什么是大熊猫相当于:

select mykey, sum(Field1) as Field1, avg(Field1) as avg_field1, min(field2) as min_field2
from df
group by mykey
在SQL中

?我明白在熊猫里我可以做到

grouped = df.groupby('mykey')

然后

grouped.mean()

将计算所有字段的平均值。 但是,我需要在不同的列上使用不同的聚合函数:在某些列上根本没有,在其他列上总和和平均值,在其他列上只有最大值等。

我如何在熊猫中实现这一目标? 谢谢!

2 个答案:

答案 0 :(得分:2)

您可以将多个功能应用于多个字段:

    f = {'Field1':'sum',
         'Field2':['max','mean'],
         'Field3':['min','mean','count'],
         'Field4':'count'
         }

    grouped = df.groupby('mykey').agg(f)

希望这有帮助!熊猫是一个非常强大的工具。

答案 1 :(得分:0)

我认为你必须为每个领域单独进行。

这样的东西可以起作用: grouped = df.groupby('mykey') grouped['Field1'].agg([np.sum, np.mean]) grouped['Field2'].min()