我有一个未排序的数据帧。我想按降序(从大到小)对列A
、B
、C
和D
排序,但是它们必须保留在面值组中。例如,它应该按列A
、B
、C
和D
对面额100进行排序,因此行0,1,2更改为0,2,1。你知道吗
Index Denomination A B C D
0 100 5 0 0 0
1 100 0 0 1 0
2 100 0 2 0 0
3 200 5 2 0 0
4 200 5 0 1 0
5 200 0 4 0 0
6 200 10 0 0 0
7 200 0 2 1 0
8 200 0 0 2 0
排序级别的顺序必须是A
、B
、C
,然后是D
。重新标记Index
并不重要。
结果数据帧应为:
Index Denomination A B C D
0 100 5 0 0 0
2 100 0 2 0 0
1 100 0 0 1 0
6 200 10 0 0 0
3 200 5 2 0 0
4 200 5 0 1 0
5 200 0 4 0 0
7 200 0 2 1 0
8 200 0 0 2 0
这可以在excel中通过选择行然后应用自定义排序来完成,但是我需要在python中使用dataframes来完成。你知道吗
这应该做到:
按
Denomination
升序排序;若是ties,按A
降序排序;若是ties,按B
降序排序,依此类推。你知道吗如果面额列不应排序,而应按组的出现顺序保留,则可以执行以下操作:
这将返回一个新列来跟踪组。您可以将此列添加到数据帧,并且它可以具有最高优先级。你知道吗
相关问题 更多 >
编程相关推荐