J'essaie de trier un cadre de données par ordre décroissant ... J'ai mis 'Faux' dans l'argument croissant, mais mon ordre est toujours croissant.
Mon code est:
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])
mais la sortie est
letter one two
2 b 1 3
0 a 2 5
1 a 3 4
3 b 4 2
4 c 5 1
Edit: Ceci est obsolète, voir la réponse de @ Merlin.
[False]
, en tant que non vide list, est différent de False
. Vous devriez écrire:
test = df.sort('one', ascending=False)
Nouvelle syntaxe (soit):
test = df.sort_values(['one'], ascending=[False])
test = df.sort_values(['one'], ascending=[0])
Pour les pandas de 0,17 et plus, utilisez ceci:
test = df.sort_values('one', ascending=False)
Puisque "one" est une série dans le bloc de données de pandas, les pandas n'accepteront donc pas les arguments sous forme de liste.
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