• Pandas 数据排序


    Pandas 数据排序

    给大家分享下在 Pandas 中排序的几种常用方法,主要包括 sort_index 和 sort_values 。

    按索引排序

    文中主要使用了 pandas 和 numpy ,首先导入 Python 库,如下:

    import pandas as pd
    import numpy as np
    
    • 1
    • 2
    data = {
    'brand':['Python 数 据 之 道 ',' 价 值 前 瞻 ',' 菜 鸟 数 据 之 道 ','Python','Java'],
     'B':[4,6,8,12,10],
     'A':[10,2,5,20,16],
     'D':[6,18,14,6,12],
     'years':[4,1,1,30,30],
     'C':[8,12,18,8,2],
     } 
     index = [9,3,4,5,2]
    
     df = pd.DataFrame(data=data,index=index)
     df
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    按行索引排序

    sort_index() 是 pandas 中按索引排序的函数,默认情况下,sort_index 是按行索引来排序。

    df.sort_index()
    #sort_index() 是 pandas 中按索引排序的函数,
    默认情况下,sort_index 是按行索引来排序
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    通过设置参数 ascending 可以设置升序或降序排列,默认情况下是 ascending=True ,为升序排列。
    设置 ascending=False 时,为降序排列,如下:

    df.sort_index(ascending=False)
    
    • 1

    在这里插入图片描述

    按列的名称排序

    通过设置参数 axis=1 可实现按列的名称排序,如下:

    df.sort_index(axis=1)
    
    • 1

    在这里插入图片描述
    同样的,可以设置参数 ascending 的值,如下:

    df.sort_values('B',ascending=False)
    
    • 1

    在这里插入图片描述

    按数值排序

    sort_values() 是 pandas 中按数值排序的函数。

    按单个列的值排序

    sort_values() 中设置单个列的列名称,可以对单个列进行排序,通过设置参数 ascending 可以设置升序或
    降序排列,如下:

    df.sort_values('B')
    
    • 1

    在这里插入图片描述

    按多个列的值排序

    同时,sort_values() 可以对多个列进行不同的排序,通过设置列明和排序方式组合来实现,如下:

    df.sort_values('B',ascending=False)
    
    • 1

    在这里插入图片描述
    设置参数 ascending ,years 列为升序,B 列为降序,如下:

    df.sort_values(['years','B'],ascending=[True,False])
    
    • 1

    在这里插入图片描述

    inplace

    inplace 是 pandas 中常见的一个参数。
    inplace = True:不创建新的对象,直接对原始对象进行修改;默认是 False,即创建新的对象进行修改,原
    对象不变,和深复制和浅复制有些类似。

    df.sort_values('B',inplace=True)
    df
    
    • 1
    • 2

    在这里插入图片描述

    Pandas 中将列(column)排序的方法

    import pandas as pd
    import akshare as ak
    data = {
    'brand':['Python 数 据 之 道 ',' 价 值 前 瞻 ',' 菜 鸟 数 据 之 道 ','Python','Java'],
    'B':[4,6,8,12,10],
    'A':[10,2,5,20,16],
    'D':[6,18,14,6,12],
    'years':[4,1,1,30,30],
    'C':[8,12,18,8,2],
     } 
    df = pd.DataFrame(data=data)
    df
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述
    在这里插入图片描述

    将列的名称按需要进行手动排序

    然后运行代码如下:

    df[['brand','A','B','C','D','years']]
    
    • 1
    df.loc[:,['brand','A','B','C','D','years']]
    #使用 .loc 方法,通过列的名称来进行排序
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    如何用 GPT-4 帮你写游戏(以24点游戏举例)
    理解 React 18 中的 useId Hooks
    Acid-PEG-aldehyde,COOH-PEG-CHO,羧基PEG醛基
    SQL优化记录
    CSS动画-Animation
    RNA甲基化修饰种类
    【毕业设计】 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI
    Kafka2.4.1的环境搭建
    Paparazzi: Surface Editing by way of Multi-View Image Processing
    【kafka实战】03 SpringBoot使用kafka生产者和消费者示例
  • 原文地址:https://blog.csdn.net/m0_63568001/article/details/126277235