pandas数值排序的实现实例

 更新时间:2021年07月25日 11:31:19   作者:不思量自难忘  
筛选和排序是Excel中使用频率最多的功能,本文主要介绍了pandas数值排序的实现实例,文中通过示例代码介绍的非常详细,,感兴趣的可以了解一下

本文用到的表格内容如下:

排序前先来看一下原始情形:

import pandas as pd
​
df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df)

result:
   姓名     年龄  成绩
0  小明   23.0  78
1  小刚    NaN  89
2  小红  876.0  65
3  李华   65.0  89
4  小美    NaN  43
5  张三   34.0  90
6  李四    NaN  34
7  王五   98.5  87

1.按照一列数值进行排序

按照某一列数值进行排序就是整个数据表都要以某一列为准,进行升序或降序
排序需要用到sort_values()方法,在sort_values()方法中要通过by参数指明要排序的列名,通过ascending参数知名升序还是降序。

1.1按照五缺失值的一列进行排序

1.1.1升序排列

该方法默认升序排列(即ascending参数的默认值是True),使用by参数用来指定需要排序的列名

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["成绩"]))

result:
   姓名     年龄  成绩
6  李四    NaN  34
4  小美    NaN  43
2  小红  876.0  65
0  小明   23.0  78
7  王五   98.5  87
1  小刚    NaN  89
3  李华   65.0  89
5  张三   34.0  90

1.1.2 降序排列

只要设置ascending参数的值为False,即可实现降序排列

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["成绩"], ascending=False))

result:
   姓名     年龄  成绩
5  张三   34.0  90
1  小刚    NaN  89
3  李华   65.0  89
7  王五   98.5  87
0  小明   23.0  78
2  小红  876.0  65
4  小美    NaN  43
6  李四    NaN  34

1.2按照有缺失值的一列进行排序

当待排序的列中有缺失值时,可以通过设置na_position参数对缺失值的显示位置进行设置

1.2.1 缺失值显示在最后

该方法默认缺失值显示在最后(na_position参数的默认值是last)

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["成绩"]))

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["年龄"]))

result:
   姓名     年龄  成绩
0  小明   23.0  78
5  张三   34.0  90
3  李华   65.0  89
7  王五   98.5  87
2  小红  876.0  65
1  小刚    NaN  89
4  小美    NaN  43
6  李四    NaN  34

1.2.2 缺失值显示在最前面

只要设置na_position参数的值为first,即可实现缺失值显示在最前面

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["年龄"], na_position='first'))

result:
   姓名     年龄  成绩
1  小刚    NaN  89
4  小美    NaN  43
6  李四    NaN  34
0  小明   23.0  78
5  张三   34.0  90
3  李华   65.0  89
7  王五   98.5  87
2  小红  876.0  65

2.按照多列数值进行排序

按照多列数值排序是指同时依据多列数据进行升序、降序排列。当第一列出现重复值时按照第二列进行排序,第二列出现重复值时按照第三列进行排序,依次类推。
此时在sort_values()方法中需要排序的多个列名要以列表的形式传递给by参数,需要每个排序的列名所对应的排序方式也要以列表的形式传递给ascending参数,二者的列表要一一对应。

df = pd.read_excel(r'C:\Users\admin\Desktop\测试.xlsx')
print(df.sort_values(by=["成绩", "年龄"], ascending=[True, False]))

result:
   姓名     年龄  成绩
6  李四    NaN  34
4  小美    NaN  43
2  小红  876.0  65
0  小明   23.0  78
7  王五   98.5  87
3  李华   65.0  89
1  小刚    NaN  89
5  张三   34.0  90

此时按照成绩进行升序排列,当成绩相同时再按照年龄进行降序排列。

到此这篇关于pandas数值排序的实现实例的文章就介绍到这了,更多相关pandas数值排序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解析Python 偏函数用法全方位实现

    解析Python 偏函数用法全方位实现

    这篇文章主要介绍了解析Python 偏函数用法全方位实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • 基于PyQt5实现一个串口接数据波形显示工具

    基于PyQt5实现一个串口接数据波形显示工具

    这篇文章主要为大家详细介绍了如何利用PyQt5实现一个串口接数据波形显示工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-01-01
  • pytest官方文档解读Fixture errors抛错解决

    pytest官方文档解读Fixture errors抛错解决

    这篇文章主要为大家介绍了pytest官方文档解读Fixture errors抛错后的解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 关于python的缩进规则的知识点详解

    关于python的缩进规则的知识点详解

    在本篇文章里小编给大家整理了关于python的缩进规则的知识点详解,有兴趣的朋友们可以学习下。
    2020-06-06
  • Python中Subprocess的不同函数解析

    Python中Subprocess的不同函数解析

    这篇文章主要介绍了Python中Subprocess的不同函数解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python调用Zoomeye搜索接口的实现

    Python调用Zoomeye搜索接口的实现

    本文主要介绍了Python调用Zoomeye搜索接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 基于Python计算圆周率pi代码实例

    基于Python计算圆周率pi代码实例

    这篇文章主要介绍了基于Python计算圆周率pi代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • 浅谈TensorFlow之稀疏张量表示

    浅谈TensorFlow之稀疏张量表示

    这篇文章主要介绍了浅谈TensorFlow之稀疏张量表示,具有很好的参考就价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中range函数的使用方法

    Python中range函数的使用方法

    这篇文章主要介绍了Python中range函数的使用方法,文章基于Python3环境展开range函数的使用方法,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • matplotlib.pyplot绘图显示控制方法

    matplotlib.pyplot绘图显示控制方法

    今天小编就为大家分享一篇matplotlib.pyplot绘图显示控制方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01

最新评论