搜索
您的当前位置:首页正文

pandas中对列进行排序(单列多列)(升序降序)(多列升序,降序控制)

来源:意榕旅游网
pandas中对列进⾏排序(单列多列)(升序降序)(多列升序,降序控制)

前⾔

我想把数据分析刻进DNA⾥

如下⾯的数据,对price,要进⾏最简单的升序操作:这个好整:

import pandas as pd

shop = pd.read_csv(\"data/shop.csv\shop.sort_values(by='price', inplace=True)结果:

如果你想整活(被迫)要把数据进⾏降序排列:

按照降序,传递进ascending,并将其值改为False即可:import pandas as pd

shop = pd.read_csv(\"data/shop.csv\

# 默认是升序排序(ascending=True),ascending=Falas:降序排序# 默认ascending为True

shop.sort_values(by='price', inplace=True, ascending=True)那么你⼜想按照price和worthy⼀起进⾏排序的话:你可以先试试:import pandas as pd

shop = pd.read_csv(\"data/shop.csv\

shop.sort_values(by='worthy', inplace=True, ascending=False)shop.sort_values(by='price', inplace=True, ascending=True)print(shop)结果:

然后你会发现这样是错的

其实应该是在⼀⾏代码中对其进⾏操作:# 对两列同时按照升序排列

shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=True)print(shop)结果:

注意,然后你⼜想整活了:

你想把price和worthy⼀个按照ascending按照True,⼀个按照False进⾏排列:其实像上⾯的by=['worthy', 'price']⼀样,传⼊⼀个list就⾏了直接上代码:

# 如果要使⼀列ascending为True,⼀列为False:

shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=[True, False])结果:

没错,你整活成功了

⽂件:F:\\Project\\python\\src\\WangYiYun\\DataAnalysis\\17_.py完整代码笔记:# @DATE : 2021-1-2# @TIME : 15:15# @USER : kirin# 排序

import pandas as pd

shop = pd.read_csv(\"data/shop.csv\

# 默认是有⼩到⼤排序,ascending=Falas:由⼤到⼩排序# 默认ascending为True

# shop.sort_values(by='worthy', inplace=True, ascending=True)# shop.sort_values(by='price', inplace=True, ascending=True)# 上⾯的这种排序其实是对shop表排了两次序

# 应该在⼀列代码中对A列和B列进⾏排序:

# shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=True)# 如果要使⼀列ascending为True,⼀列为False:

shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=[True, False])

print(shop)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top