1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序 降序控制)

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

时间:2022-09-12 22:22:31

相关推荐

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

前言

我想把数据分析刻进DNA里

如下面的数据,对price,要进行最简单的升序操作:

这个好整:

import pandas as pdshop = pd.read_csv("data/shop.csv", index_col='id')shop.sort_values(by='price', inplace=True)

结果:

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

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

import pandas as pdshop = pd.read_csv("data/shop.csv", index_col='id')# 默认是升序排序(ascending=True),ascending=Falas:降序排序# 默认ascending为Trueshop.sort_values(by='price', inplace=True, ascending=True)

那么你又想按照priceworthy一起进行排序的话:

你可以先试试:

import pandas as pdshop = pd.read_csv("data/shop.csv", index_col='id')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)

结果:

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

你想把priceworthy一个按照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 : -1-2# @TIME : 15:15# @USER : kirin# 排序import pandas as pdshop = pd.read_csv("data/shop.csv", index_col='id')# 默认是有小到大排序,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)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。