0
假設我們有以下數據框:熊貓:由最高值排序列
A B C D
1 5 16 1
5 30 45 10
2 40 60 5
4 15 40 7
這裏,我們需要根據自己的最大值的列進行排序。 因此,列應進行排序,如:
C B D A
因爲最大值(C)= 60,最大值(B)= 40,最大值(d)= 10,最大值(A)= 5。
自動執行此操作的最佳方法是什麼?
假設我們有以下數據框:熊貓:由最高值排序列
A B C D
1 5 16 1
5 30 45 10
2 40 60 5
4 15 40 7
這裏,我們需要根據自己的最大值的列進行排序。 因此,列應進行排序,如:
C B D A
因爲最大值(C)= 60,最大值(B)= 40,最大值(d)= 10,最大值(A)= 5。
自動執行此操作的最佳方法是什麼?
您可以按從df.max
結果,並以此來重新索引DF:
In [64]:
df.ix[:, df.max().sort_values(ascending=False).index]
Out[64]:
C B D A
0 16 5 1 1
1 45 30 10 5
2 60 40 5 2
3 40 15 7 4
突破上述下降:
In [66]:
df.max()
Out[66]:
A 5
B 40
C 60
D 10
dtype: int64
In [67]:
df.max().sort_values(ascending=False)
Out[67]:
C 60
B 40
D 10
A 5
dtype: int64
好消息是,它的確排序較下層的背部。問題是,它顯示了C多次?即C C C C C C ... C B D A – RPacker
對不起這裏有什麼期望的結果?你想只是按行排序值?如果是這樣,這是不明確的,不同於你所要求的 – EdChum
直到df.max()。sort_values(ascending = False)它運作良好。在創建df時它會以某種方式中斷(重新排列列) – RPacker