python,用Pandas排序降序 Dataframe

kmynzznz  于 2023-01-24  发布在  Python
关注(0)|答案(6)|浏览(121)

我试图对一个 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
qlckcl4x

qlckcl4x1#

新语法(二者之一):

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

xytpbqjk2#

编辑:这个已经过时了,见@梅林的回答。
[False]是一个非空的 list,与False不同。您应该写入:

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

t30tvxxf3#

对于0.17及以上的Pandas,使用以下公式:

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

因为'one'在Pandas的资料框中是一个数列,所以Pandas不会接受以列表形式出现的参数。

cx6n0qe3

cx6n0qe34#

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
ecfsfe2w

ecfsfe2w5#

从Pandas导入数据框将Pandas导入为pd
d ={“一”:[2,3,1,4,5],“二”:[5,4,3,2,1],“字母”:[“a”,“a”,"b“,”b“,”c“]}
df = Dataframe (d)

检查以下语句

df.groupby([“一”]).count().sort_values(“一”,升序=假)

gzjq41n4

gzjq41n46#

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html
我不认为你应该提供方括号中的False值(永远),当列值多于一个时,也不应该提供列值,那么只有它们作为一个列表提供!不像['one']

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

相关问题