pandas中Groupby对象的agg()方法和apply()方法之decimal对象的聚合处理

       DataFrame对象的groupby()方法是很有用的分组方法,其返回一个Groupby对象,Groupby对象有两个比较常用的用以传入聚合运算的方法,agg()和apply(),一般来说,agg()方法是比apply()方法更全面有效的,因为agg()方法中的参数更多样化,可以对不用的列指定不同的聚合函数,以字典的形式传入就行,即agg(dict),dict={‘column_name’:func},而apply()方法的一般只能给所有列传入一个聚合函数。但是两者在底层功能上也并不完全一样,比如一个例子就是,如果原来的DataFrame中的元素是decimal对象,则agg()方法中如果用np.mean函数去聚合运算就会抛出异常,但是这时如果换成apply()就可以正常运行。当然,也可以先把decimal对象转换成float再用agg()传入聚合函数mean。

猜你喜欢

转载自blog.csdn.net/S_o_l_o_n/article/details/86427310