Pandas之排序函數sort_values()


一、sort_values()函數用途

pandas中的sort_values()函數原理類似於SQL中的order by,可以將數據集依照某個字段中的數據進行排序,該函數即可根據指定列數據也可根據指定行的數據排序。

二、sort_values()函數的具體參數

  • 用法:
    DataFrame.sort_values(by=‘##’,axis=0,ascending=True, inplace=False, na_position=‘last’)

  • 參數說明

參數 說明
by 指定列名(axis=0或’index’)或索引值(axis=1或’columns’)
axis 若axis=0或’index’,則按照指定列中數據大小排序;若axis=1或’columns’,則按照指定索引中數據大小排序,默認axis=0
ascending 是否按指定列的數組升序排列,默認為True,即升序排列
inplace 是否用排序后的數據集替換原來的數據,默認為False,即不替換
na_position {‘first’,‘last’},設定缺失值的顯示位置

三、sort_values用法舉例

  • 創建數據框
#利用字典dict創建數據框 import numpy as np import pandas as pd df=pd.DataFrame({'col1':['A','A','B',np.nan,'D','C'], 'col2':[2,1,9,8,7,7], 'col3':[0,1,9,4,2,8] }) print(df) >>> col1 col2 col3 0 A 2 0 1 A 1 1 2 B 9 9 3 NaN 8 4 4 D 7 2 5 C 7 8 
  • 依據第一列排序,並將該列空值放在首位
#依據第一列排序,並將該列空值放在首位 print(df.sort_values(by=['col1'],na_position='first')) >>> col1 col2 col3 3 NaN 8 4 0 A 2 0 1 A 1 1 2 B 9 9 5 C 7 8 4 D 7 2 
  • 依據第二、三列,數值降序排序
#依據第二、三列,數值降序排序 print(df.sort_values(by=['col2','col3'],ascending=False)) >>> col1 col2 col3 2 B 9 9 3 NaN 8 4 5 C 7 8 4 D 7 2 0 A 2 0 1 A 1 1 
  • 根據第一列中數值排序,按降序排列,並替換原數據
#根據第一列中數值排序,按降序排列,並替換原數據 df.sort_values(by=['col1'],ascending=False,inplace=True, na_position='first') print(df) >>> col1 col2 col3 3 NaN 8 4 4 D 7 2 5 C 7 8 2 B 9 9 1 A 1 1 0 A 2 0 
  • 按照索引值為0的行,即第一行的值來降序排序
x = pd.DataFrame({'x1':[1,2,2,3],'x2':[4,3,2,1],'x3':[3,2,4,1]}) print(x) #按照索引值為0的行,即第一行的值來降序排序 print(x.sort_values(by =0,ascending=False,axis=1)) >>> x1 x2 x3 0 1 4 3 1 2 3 2 2 2 2 4 3 3 1 1 x2 x3 x1 0 4 3 1 1 3 2 2 2 2 4 2 3 1 1 3


原文 :https://blog.csdn.net/MsSpark/article/details/83154128


免責聲明!

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



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