• 按索引和值对Pandas DataFrame进行排序


     
     

    排序Pandas数据框

    图片发布
    图片作者
    图片发布
    图片作者
     

    Pandas DataFrame按值排序

    DataFrame。sort_valuesbyaxis = 0ascending = Trueinplace = Falsekind =' quicksort 'na_position ='last'ignore_index = Falsekey = None
    图片发布
    图片来源:作者

    1.按一列对数据框进行排序

    import pandas as pd
    df=pd.read_csv("C:pandas_experimentpandas_sortingdata1.csv")
    df


    图片发布
    数据框
    df.sort_values('EmpID')
    图片发布
    按“ EmpID”中的值对数据框进行排序

    2.按一列按降序对数据框进行排序

    df.sort_values(‘EmpID’,ascending=False)
    图片发布
    按des顺序按“ EmpID”中的值对df进行排序

    3.按两列对数据框进行排序

    df.sort_values(by=['Skill','EmpID'])
     
    图片发布
    根据“技能”和“ EmpID”中的值对df进行排序

    4.按两列以不同顺序对数据框进行排序

    df.sort_values(by=['Skill','EmpID'],ascending=[True,False])
    图片发布
    按两个差异顺序按两列中的值对df进行排序

    5.通过将NaN放在首位对数据帧进行排序

    df.sort_values("Salary",na_position='first')
    图片发布
    首先将缺失值(NaN)排序df

    6.就地排序数据框

    df.sort_values("Salary",inplace=True)
    df
    
    
    图片发布
    就地排序

    7.通过忽略索引对数据帧进行排序。

    df.sort_values("Salary",ignore_index=True)
    图片发布
    通过忽略索引对数据帧进行排序。

    8.使用键功能对数据框进行排序

    df.sort_values(by=["Skill"],key=lambda x:x.str.lower())
    图片发布
    按键功能排序
    df.sort_values(by=["Skill"])
    图片发布
    按“技能”(Skill)列中的值对df进行排序,而没有按键功能

    9.按字符串长度对数据框进行排序

    df.sort_values(by=["Skill"],key=lambda x:x.str.len())
    图片发布
    根据“技能”列中的字符串长度对数据框进行排序

    10.按行值对数据框进行排序

    df = pd.DataFrame(data={'x':[10,30,20], 'y':[1,2,3],'z':[5,15,10]})
    df
    图片发布
    数据框
    图片发布
    要排序的行
    df.sort_values(by=0,axis=1)
    图片发布
    根据row0值对数据框进行排序
    df1 = pd.DataFrame(data={'x':[10,10,"d"], 'y':['a',5,'c'],'z':[5,15,'a']})
    df1
    图片发布
    数据框df1
    图片发布
    按第0行排序
    df1.sort_values(by=0,axis=1)
    图片发布
    第1行和第2行
    df1.sort_values(by=2,axis=1)
     
    图片发布
    按row2排序数据框
     

    Pandas.DataFrame.sort_index

    DataFrame.sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None)

    按标签(沿轴)对对象排序。

    1.按行索引对数据框进行排序

    df=pd.read_csv("C:pandas_experimentpandas_sortingdata2.csv") 
    df
    图片发布
    df.set_index('EmpID',inplace=True)
    图片发布
    EmpId→行索引
    图片发布
    行索引
    df.sort_index()
    or
    df.sort_index(axis=0)
    图片发布
    按row_index排序

    2.按列索引对数据框进行排序

    图片发布
    列索引
    df.sort_index(axis=1)
    图片发布
    按column_index排序

    3.排序具有多索引的数据框

    df=pd.read_csv("C:pandas_experimentpandas_sortingdata2.csv") 
    df.set_index(["EmpID","Age"],inplace=True)
    图片发布
    具有multi_index的数据框
    df.sort_index(level=0)

    图片发布

    仅根据row_index“ EmpID”排序
    df.sort_index(level=1)
    图片发布
    按级别,多索引排序

    4.仅将具有多索引的数据框按一级排序

    df.sort_index(level="Age",sort_remaining=False)
    图片发布
    仅按一级排序,multi_index df

    5.按索引降序对数据框排序

    df.sort_index(axis=0,ascending=False)
    图片发布
    按desc顺序按行索引对数据帧进行排序
     

    结论:

  • 相关阅读:
    思考未来:你的目标是什么
    从非同凡响开始:绝不要做他人也在做的事
    Elasticsearch的内置分词器
    Elasticsearch倒排索引的核心组成
    Session 与 JWT
    vue全屏组件
    css弹性盒骰子
    es6模块化
    移动端适配
    echarts-3D地图
  • 原文地址:https://www.cnblogs.com/a00ium/p/14322377.html
Copyright © 2020-2023  润新知