代码之家  ›  专栏  ›  技术社区  ›  8-Bit Borges

熊猫的排名是根据条件而定的

  •  0
  • 8-Bit Borges  · 技术社区  · 4 年前

                 team  GC  GP  Fase   P  SG rank
    0   Internacional  18  32     8  36  14  1  
    1        Flamengo  29  33     5  35   4  2  
    2     Atlético-MG  23  35     5  35  12  3
    ...    
    

    df['rank'] = df['P'].rank(ascending=False)
    

    然而,有时球队也会有相同的分数,而得分最高的球队必须排名更高。


                 team  GC  GP  Fase   P  SG  rank
    0   Internacional  18  32     8  36  14   1 
    1     Atlético-MG  23  35     5  35  12   2
    2        Flamengo  29  33     5  35   4   3 
    
    ...    
    
    1 回复  |  直到 4 年前
        1
  •  0
  •   Haleemur Ali    4 年前

    你可以用 sort_values 一个列的排序依据和一个长度相等的布尔值列表,表示哪个按升序排序

    df = df.sort_values(['P', 'SG'], ascending=[False, False])
    

    如果你需要 rank 列,则可以从索引派生它

    df['rank'] = df.reset_index().index + 1
    # set the original index back
    df.set_index('index')