Панды: сортировать значение и игнорировать 0 - PullRequest
0 голосов
/ 30 мая 2018

У меня есть следующие данные:

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 Ответ

0 голосов
/ 30 мая 2018

Вы можете связать маски и операции с помощью 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...