代码之家  ›  专栏  ›  技术社区  ›  Hannan

pandas:排序值并忽略0

  •  0
  • Hannan  · 技术社区  · 6 年前

    我有以下数据:

    product profit
    a   32
    b   43
    c   23
    d   34
    e   0
    f   0
    g   -14
    h   -12
    i   -9
    j   -8
    k   -3
    

    我想对值排序并忽略零。

    df.sort_values(by="profit", ascending=False)
    

    预期产出应为:

    product profit
    b   43
    d   34
    a   32
    c   23
    k   -3
    j   -8
    i   -9
    h   -12
    g   -14
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   jpp    6 年前

    您可以使用 pandas :

    df = df[df['profit'] != 0].sort_values('profit', ascending=False)
    

    或者,为了可读性,您至少还有两个选项:

    操作员链接

    df = df.loc[df['profit'] != 0]\
           .sort_values('profit', ascending=False)
    

    蒙版+排序

    mask = df['profit'] != 0
    df = df[mask].sort_values('profit', ascending=False)