Pandas 数据排序

Pandas 数据排序

给大家分享下在 Pandas 中排序的几种常用方法,主要包括 sort_index 和 sort_values 。

按索引排序

文中主要使用了 pandas 和 numpy ,首先导入 Python 库,如下:

import pandas as pd
import numpy as np
data = {
'brand':['Python 数 据 之 道 ',' 价 值 前 瞻 ',' 菜 鸟 数 据 之 道 ','Python','Java'],
 'B':[4,6,8,12,10],
 'A':[10,2,5,20,16],
 'D':[6,18,14,6,12],
 'years':[4,1,1,30,30],
 'C':[8,12,18,8,2],
 } 
 index = [9,3,4,5,2]

 df = pd.DataFrame(data=data,index=index)
 df

在这里插入图片描述

按行索引排序

sort_index() 是 pandas 中按索引排序的函数,默认情况下,sort_index 是按行索引来排序。

df.sort_index()
#sort_index() 是 pandas 中按索引排序的函数,
默认情况下,sort_index 是按行索引来排序

在这里插入图片描述
通过设置参数 ascending 可以设置升序或降序排列,默认情况下是 ascending=True ,为升序排列。
设置 ascending=False 时,为降序排列,如下:

df.sort_index(ascending=False)

在这里插入图片描述

按列的名称排序

通过设置参数 axis=1 可实现按列的名称排序,如下:

df.sort_index(axis=1)

在这里插入图片描述
同样的,可以设置参数 ascending 的值,如下:

df.sort_values('B',ascending=False)

在这里插入图片描述

按数值排序

sort_values() 是 pandas 中按数值排序的函数。

按单个列的值排序

sort_values() 中设置单个列的列名称,可以对单个列进行排序,通过设置参数 ascending 可以设置升序或
降序排列,如下:

df.sort_values('B')

在这里插入图片描述

按多个列的值排序

同时,sort_values() 可以对多个列进行不同的排序,通过设置列明和排序方式组合来实现,如下:

df.sort_values('B',ascending=False)

在这里插入图片描述
设置参数 ascending ,years 列为升序,B 列为降序,如下:

df.sort_values(['years','B'],ascending=[True,False])

在这里插入图片描述

inplace

inplace 是 pandas 中常见的一个参数。
inplace = True:不创建新的对象,直接对原始对象进行修改;默认是 False,即创建新的对象进行修改,原
对象不变,和深复制和浅复制有些类似。

df.sort_values('B',inplace=True)
df

在这里插入图片描述

Pandas 中将列(column)排序的方法

import pandas as pd
import akshare as ak
data = {
'brand':['Python 数 据 之 道 ',' 价 值 前 瞻 ',' 菜 鸟 数 据 之 道 ','Python','Java'],
'B':[4,6,8,12,10],
'A':[10,2,5,20,16],
'D':[6,18,14,6,12],
'years':[4,1,1,30,30],
'C':[8,12,18,8,2],
 } 
df = pd.DataFrame(data=data)
df

在这里插入图片描述
在这里插入图片描述

将列的名称按需要进行手动排序

然后运行代码如下:

df[['brand','A','B','C','D','years']]
df.loc[:,['brand','A','B','C','D','years']]
#使用 .loc 方法,通过列的名称来进行排序

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值