pandas数值排序的实现实例

pandas数值排序的实现实例,博智网带你了解详细信息 。
目录

  • 1.按照一列数值进行排序
    • 1.1按照五缺失值的一列进行排序
      • 1.1.1升序排列
      • 1.1.2 降序排列
    • 1.2按照有缺失值的一列进行排序
      • 1.2.1 缺失值显示在最后
      • 1.2.2 缺失值显示在最前面
  • 2.按照多列数值进行排序

    本文用到的表格内容如下:
    pandas数值排序的实现实例


    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数值排序的实现实例的文章就介绍到这了,更多相关pandas数值排序内容请搜索趣讯吧以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣讯吧!

    推荐阅读