use*_*476 26 python sorting pandas
我正在尝试通过降序对数据帧进行排序.我在提升的论证中加上'假',但我的命令仍在提升.
我的代码是:
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])
Run Code Online (Sandbox Code Playgroud)
但输出是
letter one two
2 b 1 3
0 a 2 5
1 a 3 4
3 b 4 2
4 c 5 1
Run Code Online (Sandbox Code Playgroud)
Mer*_*lin 41
新语法(或者):
test = df.sort_values(['one'], ascending=[False])
test = df.sort_values(['one'], ascending=[0])
Run Code Online (Sandbox Code Playgroud)
U2E*_*EF1 35
编辑:这已经过时了,请参阅@Merlin的回答.
[False]
作为一个非空的列表,是不一样的False
.你应该写:
test = df.sort('one', ascending=False)
Run Code Online (Sandbox Code Playgroud)
小智 15
对于0.17及以上的熊猫,请使用:
test = df.sort_values('one', ascending=False)
Run Code Online (Sandbox Code Playgroud)
由于'one'是pandas数据框中的一个系列,因此pandas不会以列表的形式接受参数.