• Python中Dataframe数据的排序(含实例讲解)


    Dataframe数据默认按索引排序,主要重排方法有:

    1、 通过frame=frame.reindex([6,5,4,3,2,1,0]) 重排:

    data_demo=pd.read_csv('dataset.csv')
    data_demo=data_demo.iloc[:10,:]
    data_demo
    
    • 1
    • 2
    • 3

    此时的数据为(这里仅展示部分数据):


    我们按照第一种方法排序,结果如下:

    data_demo_1=data_demo.reindex([9,7,8,5,4,1,0,2,6,3])
    data_demo_1
    
    • 1
    • 2

    2、通过frame.sort_values(by=[‘height’],ascending=False):

    按照height字段重排,默认按升序,需要降序时再加ascending=False参数。

    如果数据是字符,则是按照字符编码排序,看起来好像没有规律。如果想看一个汉字的编码,可以使用'xx'.encode()的方法查看。

    我们展示一下部分原数据:

    我们的目标是把“值”那一列进行排序:

    data_RF_pre_100=data_RF.sort_values(by=['值'],ascending=False)
    data_RF_pre_100
    
    • 1
    • 2

    展示排序后的结果:

    3、 通过frame.sort_values(by=[‘A’,‘B’],ascending=[False,True]):

    先按A列再按B列排序,其中A列降序,B列升序

    原数据:

    上面的排序方式:

    data_demo_3=data_demo.sort_values(by=['辛烷值RON','硫含量,μg/g'],ascending=[False,True])
    data_demo_3
    
    • 1
    • 2

    5、一些其他的细节问题:

    排序完如果还想调整索引号为升序,则增加这样一句话:

    frame.reset_index(drop=True)
    
    • 1

    如果不想删除原索引号,只增加一列新索引,则用:

    frame.reset_index()
    
    • 1

    在任何时候,如果想恢复原来的索引排序,则用:

    frame.sord_index()
    
    • 1

    列的重新排序,即是数据的重新选择:

    frame[['A', 'B','C', 'D']]
    
    • 1
  • 相关阅读:
    Android 13 骁龙相机点击录像流程分析
    Windows操作系统的环境变量
    0和1的歧义问题
    【Linux】进程控制
    Laravel-admin弹出提示层的三种方法
    用户案例 | 珍岛集团基于 Apache DolphinScheduler 打造智能营销云平台
    基于反向推理的序列预测模型
    海外代购系统/代购网站怎么搭建
    语义分割 FCN-DenseNet 应用入门
    Docker 上 gitlab私有化部署及邮箱配置
  • 原文地址:https://blog.csdn.net/wzk4869/article/details/126370595