python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > pandas 特定排序

Python利用pandas对数据进行特定排序

作者:数据人阿多

本文主要介绍了Python利用pandas对数据进行特定排序,主要使用 pandas.DataFrame.sort_values 方法,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧

背景

小编最近在处理hive表存储大小时,需要对每个表的大小进行排序,因通过 hadoop fs -du -s -h /path/table 命令获取的数据表大小,其结果是展示为人能直观理解的大小,例如 1.1T、1.9G、49.6M 等,如果想对这些表根据存储大小进行降序排列,利用pandas应该如何做呢?

表大小

小编环境

import sys
print('python 版本:',sys.version.split('|')[0])   
#python 版本: 3.11.5
import pandas as pd
print(pd.__version__)
#2.1.0

测试数据

这里仅列举10行数据,进行演示,小编真实的hive表有几万个

测试数据

函数概述

在pandas对数据进行排序主要使用 pandas.DataFrame.sort_values 方法

DataFrame.sort_values(by, *, 
                axis=0,   
                ascending=True, 
                inplace=False, 
                kind='quicksort', 
                na_position='last', 
                ignore_index=False, 
                key=None)

参数解释:

key参数

官方文档:
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.sort_values.html

完整案例

import pandas as pd
data=pd.read_excel('排序数据.xlsx',sheet_name='排序')
key_type={'T':1,'G':2,'M':3,'K':4}
data.sort_values(by=['大小2','大小1'],
                 ascending=[True,False],
                 key=lambda col: col.map(key_type) if col.name=='大小2' else col
                )

排序结果

到此这篇关于Python利用pandas对数据进行特定排序的文章就介绍到这了,更多相关pandas 特定排序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文