按索引和值對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_experiment\pandas_sorting\data1.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_experiment\pandas_sorting\data2.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_experiment\pandas_sorting\data2.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順序按行索引對數據幀進行排序
 

結論:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM