有没有pandas函数可以按多列从小到大对数据进行分组?

Is there a pandas function can group data by multiple columns from least to greatest?

我正在尝试按列对具有相近值的数据行进行分组。目标是按从小到大的顺序对数据行进行排序。第一行具有所有行中的最低值,然后第二行具有下一个最低值。 pandas 是最好的方法吗?我会接受任何建议。

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

我认为您需要使用 df.sum() on axis=1 and reindex using 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