TO
我目前有一个数据框,按国家和系列排列,其值范围为0-25。
我希望对数据框进行排序,使最高的值出现在左上角(第一位),而最低的值出现在右下角(最后一位)。
A B C D ...
USA 4 0 10 16
CHN 2 3 13 22
UK 2 1 8 14
...
TO
D C A B ...
CHN 22 13 2 3
USA 16 10 4 0
UK 14 8 2 1
...
在这里,具有最高值的列现在排在第一位,索引也是如此。
我考虑过重新索引,但这会失去“国家”索引。
D C A B ...
0 22 13 2 3
1 16 10 4 0
2 14 8 2 1
...
我考虑创建一个新的列和行,其中包含该列/行的值的平均值或总和,但这是最有效的方法吗? 那么在我有了新的行/列之后,如何对DF进行排序?是否有一种重新索引的方法可以使用...
df_mv.reindex(df_mv.mean(or sum)().sort_values(ascending = False).index, axis=1)
我希望能够保留国家指数,并根据需要进行排序,您有什么建议或帮助吗?
编辑
所需结果将按从大到小的顺序组织列和行。
关于A列和B列第一行在所需输出中的顺序,应分别为2、3。这是因为所需结果将A列解释为比B列在总和和平均值方面更大(即使可以考虑某行/列的“值”是总和还是平均值)。
当我说高数字将位于左上角,低数字将位于右下角时,我只是希望这是结果df的一般趋势。然而,整个列和行才是预期的焦点。对于造成的困惑,深表歉意。
3, 2
吗? - Mykola Zotko