Ответ 1
[False]
, являющийся непустым списком, не совпадает с False
. Вы должны написать:
test = df.sort('one', ascending=False)
Я пытаюсь сортировать dataframe по убыванию. Я помещаю "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
[False]
, являющийся непустым списком, не совпадает с False
. Вы должны написать:
test = df.sort('one', ascending=False)
Новый синтаксис (либо):
test = df.sort_values(['one'], ascending=[False])
test = df.sort_values(['one'], ascending=[0])
Для панд 0.17 и выше используйте это:
test = df.sort_values('one', ascending=False)
Поскольку 'one' - это серия во фрейме данных pandas, следовательно, pandas не будет принимать аргументы в форме списка.