我试图对一个 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
6条答案
按热度按时间qlckcl4x1#
新语法(二者之一):
xytpbqjk2#
编辑:这个已经过时了,见@梅林的回答。
[False]
是一个非空的 list,与False
不同。您应该写入:t30tvxxf3#
对于0.17及以上的Pandas,使用以下公式:
因为'one'在Pandas的资料框中是一个数列,所以Pandas不会接受以列表形式出现的参数。
cx6n0qe34#
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(“一”,升序=假)
gzjq41n46#
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html
我不认为你应该提供方括号中的
False
值(永远),当列值多于一个时,也不应该提供列值,那么只有它们作为一个列表提供!不像['one']
。