我有一个如下所示的df
df:
product_x year total_price total_sale
A 2016 50 200
B 2016 200 100
A 2017 250 250
B 2017 1000 300
A 2018 100 50
B 2018 900 600
K 2016 20 300
D 2016 100 450
我想按如下所示对df进行排序。
product_x year_c total_price total_sale
D 2016 100 450
A 2016 50 200
B 2016 200 100
K 2016 20 300
B 2017 1000 300
A 2017 250 250
B 2018 900 600
A 2018 100 50
优先选择的是year_c的升序,然后是toatal_sale的降序。
我尝试了以下代码。
df = df.sort_values(['year_c',
'total_sale'], ascending=False)
答案 0 :(得分:1)
应该可以。如果您希望各列的排序顺序不同,则可以将列表传递到ascending=
:
df = df.sort_values(['year_c',
'total_sale'], ascending=[True,False])
有关更多详细信息,请参阅文档:pd.DataFrame.sort_values()
答案 1 :(得分:1)
分别为每列定义排序顺序:
df.sort_values(['year_c', 'total_sale'], ascending=[True, False])
(按 year_c 递增,按 total_sale 递减)。