代码之家  ›  专栏  ›  技术社区  ›  Koray Tugay

为什么count和unique的行为不同于GroupBy对象?

  •  1
  • Koray Tugay  · 技术社区  · 6 年前

    我有以下csv文件:

    col_1,col_2
    foo,1
    foo,1
    bar,1
    bar,2
    baz,1
    baz,1
    baz,2
    baz,2
    qux,1
    qux,2
    qux,3
    

    以及以下代码(连同输出)

    print(df.groupby('col_1').count())
    #        col_2
    # col_1
    # bar        2
    # baz        4
    # foo        2
    # qux        3
    
    print(df.groupby('col_1').nunique())
    #        col_1  col_2
    # col_1
    # bar        1      2
    # baz        1      2
    # foo        1      1
    # qux        1      3
    

    nunique ,返回2列: col_1 col_2 . 为什么我打电话的时候第一列不见了 count ?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Haleemur Ali    6 年前

    count & nunique 是不同的功能,做不同的事情。

    计数 对于每组中的每个系列。

    唯一的非NA值 对于每组中的每个系列


    至于为什么 努尼克 df.groupby(...).nunique()

    在通常情况下,分组列被设置为索引(除非 as_index=False )在框架中作为列使用而不是复制。

    行为 符合 预期 groupby apply/agg

    不过,确实有人为其编写了测试 nunique 其中,预期输出还包括分组列作为两个列的列 as_index=True as_index=假