Сортировать значения столбца данных на основе положительных и отрицательных значений? - PullRequest
2 голосов
/ 23 сентября 2019

У меня есть столбец df, состоящий из + ve и -ve столбцов.

       A          B
0      a           5
1      b         -13
2      c          15
3      d         -10

И есть ли способ сортировки + ve значений по возрастанию и -ve значений по убыванию

       A          B
0      a           5
1      c          15
2      d         -10
3      b         -13

1 Ответ

4 голосов
/ 23 сентября 2019

Первый фильтр с boolean indexing, сортировка по DataFrame.sort_values и последним concat вместе:

mask = df['B'].gt(0)
df = pd.concat([df[mask].sort_values('B'),
                df[~mask].sort_values('B', ascending=False)], ignore_index=True)
print (df)
   A   B
0  a   5
1  c  15
2  d -10
3  b -13
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...