2017-08-10 15 views
1

こんにちはにより、列の並べ替え私は、次のデータフレームがあるすべて:しかしGROUPBY

 a     LC_REF 
5 Warranty Medium  2C17 
6 4.2     2C17 
7 3.1     2C17 
... 
5 Warranty High   2C17 
6 2.1     2C17 
7 0.5     2C17 
... 
5 Warranty Tsunami  1C17 
6 10.1     1C17 
7 5.2     1C17 
... 
5 Warranty Medium  1C17 
6 9.1     1C17 
7 6.3     1C17 

私は試してみてください。インデックスの順序を維持しながら、私はLC_REFによってそれらを並べ替えしようとしています

 a     LC_REF 
5 Warranty Tsunami  1C17 
6 10.1     1C17 
7 5.2     1C17 
... 
5 Warranty Medium  1C17 
6 9.1     1C17 
7 6.3     1C17 
... 
5 Warranty Medium  2C17 
6 4.2     2C17 
7 3.1     2C17 
... 
5 Warranty High   2C17 
6 2.1     2C17 
7 0.5     2C17 

を:

df.sort_values('LC_REF') 

データフレームが非常に乱れています。 LC_REFでソートする方法はありますか?

答えて

1

あなたが必要なようだ:

df.sort_values(['LC_REF'], ascending=False) 

もっと一般的な解決策 - オリジナルオーダーのオリジナルインデックス値と第二reset_indexのための最初のreset_index、その後、ソート2列によって:

df = df.reset_index() 
     .reset_index() 
     .sort_values(['LC_REF', 'level_0'], ascending=[False, True]) 
     .set_index('index') 
     .drop('level_0', 1) 
print (df) 
         a LC_REF 
index       
5  Warranty Medium 2C17 
6     4.2 2C17 
7     3.1 2C17 
5   Warranty High 2C17 
6     2.1 2C17 
7     0.5 2C17 
5  Warranty Tsunami 1C17 
6     10.1 1C17 
7     5.2 1C17 
5  Warranty Medium 1C17 
6     9.1 1C17 
7     6.3 1C17