web-dev-qa-db-ja.com

Python、降順のデータフレームをpandasでソートします

降順でデータフレームを並べ替えようとしています。私は「False」を昇順の引数に入れましたが、私の注文はまだ昇順です。

私のコードは:

from pandas import DataFrame
import pandas as pd

d = {'one':[2,3,1,4,5],
     'two':[5,4,3,2,1],
     'letter':['a','a','b','b','c']}

df = DataFrame(d)

test = df.sort(['one'], ascending=[False])

しかし、出力は

  letter  one  two
2      b    1    3
0      a    2    5
1      a    3    4
3      b    4    2
4      c    5    1
26
user3636476

編集:これは古くなっています。@ Merlinの回答を参照してください。

[False]は空ではないリストであり、Falseと同じではありません。あなたが書く必要があります:

test = df.sort('one', ascending=False)
35
U2EF1

新しい構文(どちらか):

 test = df.sort_values(['one'], ascending=[False])
 test = df.sort_values(['one'], ascending=[0])
39
Merlin

pandas 0.17以降では、これを使用します。

test = df.sort_values('one', ascending=False)

「one」はpandasデータフレームの系列なので、したがってpandasはリスト形式の引数を受け入れません。

14
Arko
from pandas import DataFrame
import pandas as pd

d = {'one':[2,3,1,4,5],
 'two':[5,4,3,2,1],
 'letter':['a','a','b','b','c']}

df = DataFrame(d)

test = df.sort_values(['one'], ascending=False)
test
1
Vivekanand AIML