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

2024-04-18 0 353
目录
  • 背景
  • 小编环境
  • 测试数据
  • 函数概述
  • 完整案例

背景

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

Python利用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表有几万个

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

函数概述

在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)

参数解释:

  • by :str or list of str用于排序的单个字段 或 多个字段组成的列表
  • axis:“{0 or ‘index’, 1 or ‘columns’}”, default 0排序时的轴向,0 表示行向排序(一行一行排序),1表示列向排序(一列一列排序),默认是 0,也就是Excel中经常使用的排序
  • ascending:bool or list of bool, default True升序、降序,默认是升序,也就是True,如果是False,则是降序
  • 注意:该参数需要和 上面的by参数要相对应
  • inplace:bool, default False是否原地更新排序的数据,默认是False,表示调用该方法后,会返回一个新的数据框
  • kind:{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, default ‘quicksort’进行排序时,指定的排序算法,默认是quicksort,快速排序算法
  • na_position:{‘first’, ‘last’}, default ‘last’在排序的数据中,指定NaN的排序位置,默认是排在最后
  • ignore_index:bool, default False是否要忽略数据的索引,默认是 Fasle,不忽略,使用数据原本的索引
  • key:callable, optional排序之前使用的函数,该函数需要是矢量化的,也就是传入参数是Series,返回的结果也需要为Series,该函数会逐个用在被排序的字段上

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

官方文档: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对数据进行特定排序

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

您可能感兴趣的文章:

  • PandasDataFrame如何按照一列数据的特定顺序进行排序
  • Python使用pandas实现对数据进行特定排序

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Python Python利用pandas对数据进行特定排序 https://www.u-9.cn/jiaoben/python/186635.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务