Существует ли функция pandas, позволяющая группировать данные по нескольким столбцам от наименьшего к наибольшему? - PullRequest
1 голос
/ 06 марта 2020

Я пытаюсь сгруппировать строки данных, которые имеют близкие значения по столбцам. Цель состоит в том, чтобы отсортировать строки данных от наименьшего к наибольшему. Первая строка имеет самые низкие значения из всех строк, а вторая строка имеет следующие самые низкие значения. pandas лучший способ go о? Я приму любой совет.

d1  d2  d3  d4   d5  d6
 2    2   2   4   8   10
 5    2   3   5   7    9
 9    1   6   9  11   15
13    4   2   1  21   12
 3    5   7   6  11   11

желаемый выход:

 d1  d2  d3  d4   d5  d6
 2    2   2   4   8   10
 5    2   3   5   7    9
 3    5   7   6  11   11
 9    1   6   9  11   15
13    4   2  10  21   12

1 Ответ

1 голос
/ 06 марта 2020

Полагаю, вам нужно сложить все столбцы, используя df.sum() на axis=1 и reindex, используя argsort

out = df.reindex(df.sum(1).argsort())

print(out)

   d1  d2  d3  d4  d5  d6
0   2   2   2   4   8  10
1   5   2   3   5   7   9
4   3   5   7   6  11  11
2   9   1   6   9  11  15
3  13   4   2   1  21  12
...