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

 更新时间:2024年03月31日 15:58:31   作者:数据人阿多  
本文主要介绍了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)

参数解释:

  • 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 ,该函数会逐个用在被排序的字段上

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 特定排序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Python中五种列表拷贝的方法

    Python中五种列表拷贝的方法

    这篇文章主要介绍了Python中五种列表拷贝的方法,在Python中,我们经常会遇到需要拷贝列表的情形,下面针对常用的列表拷贝方法进行介绍和总结,希望可以给大家带来更多感性的认识
    2022-02-02
  • Python序列对象与String类型内置方法详解

    Python序列对象与String类型内置方法详解

    这篇文章主要介绍了Python序列对象与String类型内置方法,结合实例形式分析了Python序列对象与String类型各种常见内置方法相关使用技巧及操作注意事项,需要的朋友可以参考下
    2019-10-10
  • python pexpect ssh 远程登录服务器的方法

    python pexpect ssh 远程登录服务器的方法

    今天小编就为大家分享一篇python pexpect ssh 远程登录服务器的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 浅谈python为什么不需要三目运算符和switch

    浅谈python为什么不需要三目运算符和switch

    下面小编就为大家带来一篇浅谈python为什么不需要三目运算符和switch。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • Python字典生成式、集合生成式、生成器用法实例分析

    Python字典生成式、集合生成式、生成器用法实例分析

    这篇文章主要介绍了Python字典生成式、集合生成式、生成器用法,结合实例形式分析了Python字典生成式、集合生成式、生成器相关原理、使用技巧与操作注意事项,需要的朋友可以参考下
    2020-01-01
  • python pyppeteer 破解京东滑块功能的代码

    python pyppeteer 破解京东滑块功能的代码

    这篇文章主要介绍了python pyppeteer 破解京东滑块功能的代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Python 开发工具PyCharm安装教程图文详解(新手必看)

    Python 开发工具PyCharm安装教程图文详解(新手必看)

    PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。今天通过本文给大家分享PyCharm安装教程,一起看看吧
    2020-02-02
  • Manjaro、pip、conda更换国内源的方法

    Manjaro、pip、conda更换国内源的方法

    这篇文章主要介绍了Manjaro、pip、conda更换国内源的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 详解Python如何利用Shelve进行数据存储

    详解Python如何利用Shelve进行数据存储

    Shelve是Python标准库中的一个模块,用于实现简单的数据持久化,本文将详细介绍Shelve模块的功能和用法,并提供丰富的示例代码,希望对大家有所帮助
    2023-11-11
  • 详解python中的三种命令行模块(sys.argv,argparse,click)

    详解python中的三种命令行模块(sys.argv,argparse,click)

    这篇文章主要介绍了python中的三种命令行模块(sys.argv,argparse,click)的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12

最新评论