pandas groupby

作者: 只为此心无垠 | 来源:发表于2018-04-08 17:09 被阅读20次

    语法糖

    image.png

    groupby的聚合函数

    groupby的聚合函数

    参数解释

    groupby(by=None, axis=0, level=None,
                 as_index=True, sort=True, 
                group_keys=True, squeeze=False, **kwargs)
    1、by:mapping, function, str, or iterable。
    
    用于确定groupby的组。如果by是一个函数,那么会调用对象索引的每个值。
    如果传递了一个dict或Series,则将使用Series或dict的值来确定组。
    一个str或者一个strs列表可以通过自己的列传递给group。
    
    2、axis:轴,int值,默认为0
    
    3、level:如果axis是一个MultiIndex(分层),则按特定的级别分组。int值,默认为None
    
    4、as_index:对于聚合输出,返回带有组标签的对象作为索引。as_index=False实际上是“SQL风格”分组输出,boolean值,默认为True。
    
    5、sort:排序。关闭此功能以获得更好的性能。boolean值,默认True。
    
    6、group_keys:当调用apply时,添加group key来索引来识别片断。boolean值,默认True。
    
    7、squeeze:尽可能减少返回类型的维度,否则返回一致的类型。boolean值,默认False。
    

    index需要注意

    df = pd.DataFrame({'key':['a','b','a'],'key2':[1,2,3]})
    print(df.groupby(['key'])['key2'].mean())
    -------------------
    key
    a    2
    b    2
    
    df.groupby(['key'],as_index=False)['key2'].mean()等价于于
    df.groupby(['key'])['key2'].mean().reset_index()
    -------------------
      key  key2
    0   a     2
    1   b     2
    

    2.1返回众数

    da = pd.DataFrame({'key':['a','b','a','a'],'key2':[1,3,2,2]})
    print(da.groupby(['key'])['key2'].apply(lambda x:x.mode()[0]).reset_index())
    
    ----------
      key  key2
    0   a     2
    1   b     3
    
    

    相关文章

      网友评论

        本文标题:pandas groupby

        本文链接:https://www.haomeiwen.com/subject/krhmhftx.html