pandas—排序sort_values、sort_index

1. sort_index()

功能说明:可以实现DataFrame的索引排序

1.1 基本语法

DataFrame.sort_index( axis=0, 
               level=None,    
               ascending=True, 
               inplace=False, 
               kind='quicksort', 
               na_position='last',
               sort_remaining=True
               ignore_index=False, 
               key=None)

**参数说明:**

axis: 是水平方向排序还是垂直方向排序,默认是垂直方向 axis=0,垂直方向;axis=1,水平方向

level: 第几层索引

ascending: 排序方式,是升序还是降序来排

inplace: 是生成新的DataFrame还是在原数据上进行修改,True 为在原数据上修改

kind: 所用到的排序的算法,有快排quicksort或者是归并排序mergesort、堆排序heapsort等等

na_position:'first, last, 默认为last; first把NaNs放在开头,last把NaNs放在后面

ignore_index: 是否对行索引进行重新的排序

1.2 常用实例

#根据第二层索引排序
data.sort_index(level=2)
data.sort_index(ascending=True)
data.sort_index(axis=1)
data.sort_index(axis=0,level=1,ascending=True,inplace=True)

2. sort_values()

功能说明:可以实现对DataFrame的一列或者多列的排序

2.1 基本语法

DataFrame.sort_values(by, 
               axis=0, 
               ascending=True, 
               inplace=False, 
               kind='quicksort', 
               na_position='last', # last,first;默认是last
               ignore_index=False, 
               key=None)
                       
**参数说明:**

by: 表示根据某字段、某列来进行排序,可以是一个或者是多个

axis: 是水平方向排序还是垂直方向排序,默认是垂直方向 axis=0,垂直方向;axis=1,水平方向

ascending: 排序方式,是升序还是降序来排

inplace: 是生成新的DataFrame还是在原数据上进行修改,True 为在原数据上修改

kind: 所用到的排序的算法,有快排quicksort或者是归并排序mergesort、堆排序heapsort等等

ignore_index: 是否对行索引进行重新的排序

2.2 常用实例

df.sort_values(by=['age'])   
df.sort_values(['age'])   #by可以省略
df.sort_values(by=['age','height']) #根据多列进行排序 ,把列放到列表里
df.sort_values(by=['age'],ascending=True) #升序
df.sort_values(by=['age','height'],ascending= [False,True])  #不同列不同排序方式
df.sort_values(by=['age'],inplace=True)  #原数据上直接修改
df.sort_values(by=['age'],ignore_index=True) #对行索引重新排序

版权声明:本文为CSDN博主「lghpy01」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46128639/article/details/122718183

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值