DataFrame(13):DataFrame的排序与排名问题(一)

简介: DataFrame(13):DataFrame的排序与排名问题(一)

1、说明

 DataFrame中的排序分为两种,一种是对索引排序,一种是对值进行排序。

 索引排序:sort_index();值排序:sort_values();值排名:rank()

 对于索引排序,涉及到对行索引、列索引的排序,并且还涉及到是升序还是降序。函数df.sort_index(axis= , ascending= , inplace=),需要特别注意这三个参数。axis表示对行操作,还是对列操作;ascending表示升序,还是降序操作。

 对于值排序,同样也是涉及到行、列排序问题,升序、降序排列问题。函数df.sort_values(by= , axis= , ascending= , inplace=),也需要特别注意这几个参数,只是多了一个by操作,需要我们指明是按照哪一行或哪一列,进行排序的。

 注意:axis=0表示对行操作,axis=1表示对列进行操作;ascending=True表示升序,ascending=False表示降序;inplace=True表示对原始DataFrame本身操作,因此不需要赋值操作,inplace=False相当于是对原始DataFrame的拷贝,之后的一些操作都是针对这个拷贝文件进行操作的,因此需要我们赋值给一个变量,保存操作后的结果。


2、索引排序:df.sort_index()

① 对行索引,进行升序排列

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "D":[1,2,3,4,5],
                   "C":[3,6,9,12,15],
                   "B":[2,4,6,8,10]},
                   index=list("acbed"))
display(df)
display(id(df))
df.sort_index(axis=0,ascending=True,inplace=True)
display(df)
display(id(df))
df1 = df.sort_index(axis=0,ascending=True)
display(df1)
display(id(df1))


结果如下:

image.png


② 对列索引,进行降序排列

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "D":[1,2,3,4,5],
                   "C":[3,6,9,12,15],
                   "B":[2,4,6,8,10]},
                   index=list("acbed"))
display(df)
df.sort_index(axis=1,ascending=False,inplace=True)
display(df)


结果如下:

image.png


3、值排序:df.sort_values()

① 对某一列进行升序排列(有实际意义)

df = pd.DataFrame({"A":[3,1,5,9,7],
                   "D":[4,1,2,5,3],
                   "C":[3,15,9,6,12],
                   "B":[2,4,6,10,8]},
                   index=list("acbed"))
display(df)
df.sort_values(by="A",axis=0,ascending=True,inplace=True)
display(df)


结果如下:

image.png


② 对某一行进行降序排列(实际意义不大)

df = pd.DataFrame({"A":[3,1,5,9,7],
                   "D":[4,1,2,5,3],
                   "C":[3,15,9,6,12],
                   "B":[2,4,6,10,8]},
                   index=list("acbed"))
display(df)
df.sort_values(by="A",axis=1,ascending=False,inplace=True)
display(df)


结果如下:

image.png

相关文章
|
8月前
|
Python
DataFrame排序和排名案例解析
本文演示了如何使用pandas对DataFrame进行排序和排名。首先,通过`pd.DataFrame()`将字典转换为DataFrame,然后利用`sort_values()`按'年龄'列进行升序排序。此外,还使用`rank()`方法为'年龄'列生成排名,并将其添加到DataFrame中作为新的'年龄排名'列。
122 0
|
28天前
|
数据挖掘 数据处理 数据库
Pandas数据聚合:groupby与agg
Pandas库中的`groupby`和`agg`方法是数据分析中不可或缺的工具,用于数据分组与聚合计算。本文从基础概念、常见问题及解决方案等方面详细介绍这两个方法的使用技巧,涵盖单列聚合、多列聚合及自定义聚合函数等内容,并通过代码案例进行说明,帮助读者高效处理数据。
109 32
|
4月前
|
数据挖掘 Python
pandas中的groupby函数应用
pandas中的groupby函数应用
31 0
pandas中的groupby函数应用
|
4月前
|
数据挖掘 数据处理 Python
Pandas中groupby后的数据排序技巧
Pandas中groupby后的数据排序技巧
278 0
|
4月前
|
索引 Python
如何高效地对比处理 DataFrame 的两列数据
如何高效地对比处理 DataFrame 的两列数据
51 0
|
4月前
|
数据挖掘 索引 Python
Pandas中的排序技巧:让你的数据井然有序
Pandas中的排序技巧:让你的数据井然有序
205 0
|
Python
实现DataFrame的自定义排序
要实现DataFrame的自定义排序,可以使用pandas库中的sort_values()函数。首先,需要导入pandas库,然后创建一个DataFrame,接着使用sort_values()函数对指定列进行排序。
442 0
|
搜索推荐 算法 数据挖掘
pandas数据分析之排序和排名(sort和rank)
对数据集进行排序和排名的是常用最基础的数据分析手段,pandas提供了方便的排序和排名的方法,通过简单的语句和参数就可以实现常用的排序和排名。 本文以student数据集的DataFrame为例来演示和介绍pandas数据分析之排序和排名(sort和rank)。
302 0
Pandas groupby分组后求各组行数
Pandas groupby分组后求各组行数
Pandas groupby分组后求各组行数
|
数据挖掘 索引 Python
【Python数据分析 - 12】:Series结构、pandas中值的获取和修改、切片操作与排序(pandas篇)
【Python数据分析 - 12】:Series结构、pandas中值的获取和修改、切片操作与排序(pandas篇)
251 0
【Python数据分析 - 12】:Series结构、pandas中值的获取和修改、切片操作与排序(pandas篇)