<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一文搞懂Pandas數(shù)據(jù)排序

          共 4104字,需瀏覽 9分鐘

           ·

          2021-08-16 03:16

          數(shù)據(jù)排序,是使用非常高頻的功能,Pandas排序支持做的非常好,主要涉及兩個(gè)函數(shù),兩種數(shù)據(jù)類型,組合起來(lái)四種情況。

          Series排序

          • Series.sort_index 索引排序

          • Series.sort_values 值引排序

          DataFrame排序

          • DataFrame.sort_index  索引排序

          • DataFrame.sort_values 值引排序

           

          一、Series的排序

          1、sort_index 索引排序

          定義一個(gè)Series用于實(shí)驗(yàn)

          s = Series([4,1,2,3],index=['d','a','c','b'])d    4a    1c    2b    3

           

          對(duì)Series的索引進(jìn)行升序排序,默認(rèn)即可,無(wú)需使用其他參數(shù)

          s.sort_index()a    1b    3c    2d    4

           

          對(duì)Series的索引進(jìn)行降序排序,使用ascending=False參數(shù)

          s.sort_index(ascending=False)d    4c    2b    3a    1

           

          2、sort_values 值引排序

          用 法:

          Series.sort_values(ascending=True, inplace=Flase)


          參數(shù):

          • ascending:默認(rèn)為True升序排列,為Flase降序排序

          • inplace:是否修改原始的Series

           

          對(duì)Series的值進(jìn)行升序排序,默認(rèn)即可,無(wú)需使用其他參數(shù)

          s.sort_values()a    1c    2b    3d    4

           

          對(duì)Series的進(jìn)行降序排序,使用ascending=False參數(shù)

          s.sort_values(ascending=False)d    4b    3c    2a    1

           

           

           

          二、 DataFrame的排序

           

          1、sort_index 索引排序

          DataFrame.sort_index(by=None,axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True)
          • by:按照某一列或幾列數(shù)據(jù)進(jìn)行排序,但是by參數(shù)貌似不建議使用

          • axis:0按照行名排序;1按照列名排序

          • level:默認(rèn)None,否則按照給定的level順序排列---貌似并不是,文檔

          • ascending:默認(rèn)True升序排列;False降序排列

          • inplace:默認(rèn)False,否則排序之后的數(shù)據(jù)直接替換原來(lái)的數(shù)據(jù)框

          • kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太關(guān)心。

          • na_position:缺失值默認(rèn)排在最后{"first","last"}

           

          構(gòu)建數(shù)據(jù)集

          import numpy  as npimport pandas as pddata = pd.DataFrame( np.arange(9).reshape(3,3),                 index   = ["0","2","1"],                 columns = ["col_a","col_c","col_b"])data   col_a  col_c  col_b0      0      1      22      3      4      51      6      7      8

           

          按行的索引升序進(jìn)行排序,默認(rèn)按行,升序

          data.sort_index()   col_a  col_c  col_b0      0      1      21      6      7      82      3      4      5

           

          按行的索引降序進(jìn)行排序

          data.sort_index(ascending=False)   col_a  col_c  col_b2      3      4      51      6      7      80      0      1      2

           

          按列升序的索引進(jìn)行排序

          data.sort_index(axis=1)Out[10]:    col_a  col_c  col_b0      0      1      21      6      7      82      3      4      5

           

           

          2、sort_values 值引排序

           

          用 法:

          DataFrame.sort_values(by, axis=0, ascending=True, inplace=False,kind='quicksort', na_position='last')

          參 數(shù):

          • by:字符串或者List<字符串>;如果axis=0,那么by="列名";如果axis=1,那么by="行名"。

          • axis:{0 or ‘index’, 1 or ‘columns’}, default 0,默認(rèn)按照列排序,即縱向排序;如果為1,則是橫向排序。

          • ascending:布爾型,True則升序,如果by=['列名1','列名2'],則該參數(shù)可以是[True, False],即第一字段升序,第二個(gè)降序。

          • inplace布爾型,是否用排序后的數(shù)據(jù)框替換現(xiàn)有的數(shù)據(jù)框。

          • kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太關(guān)心。

          • na_position:{‘first’, ‘last’}, default ‘last’,默認(rèn)缺失值排在最后面。

           

          構(gòu)建實(shí)驗(yàn)用數(shù)據(jù)

          data =pd.DataFrame([[2,3,12],[6,2,8],[9,5,7]],                  index=["0", "2", "1"],                  columns=["col_a", "col_c", "col_b"])   col_a  col_c  col_b0      2      3     122      6      2      81      9      5      7

           

          按指定列的值大小順序進(jìn)行排序

          data.sort_values(by='col_c')   col_a  col_c  col_b2      6      2      80      2      3     121      9      5      7

           

          按多列進(jìn)行排序

          data.sort_values(by=['col_b','col_a'])   col_a  col_c  col_b1      9      5      72      6      2      80      2      3     12

           

          先按col_b降序,再按col_a列升序排序

          data.sort_values(by=['col_b','col_a'],axis=0,ascending=[False,True])    col_a  col_c  col_b0      2      3     122      6      2      81      9      5      7


          升序排列

          data.sort_values(by='2',axis=1)     col_c  col_a  col_b0      3      2     122      2      6      81      5      9      7

           

          2行 升序,0行降排列

          data.sort_values(by=['2','0'],axis=1)    col_c  col_a  col_b0      3      2     122      2      6      81      5      9      7

           

           

          推薦閱讀:
          Pandas中的寶藏函數(shù)-map
          Pandas中的寶藏函數(shù)-apply
          Pandas中的寶藏函數(shù)-applymap
          一、Number(數(shù)字)
          全面掌握Python基礎(chǔ),這一篇就夠了,建議收藏
          Python基礎(chǔ)之?dāng)?shù)字(Number)超級(jí)詳解
          Python隨機(jī)模塊22個(gè)函數(shù)詳解
          Python數(shù)學(xué)math模塊55個(gè)函數(shù)詳解
          二、String(字符串)
          Python字符串的45個(gè)方法詳解
          Pandas向量化字符串操作
          三、List(列表)
          超級(jí)詳解系列-Python列表全面解析
          Python輕量級(jí)循環(huán)-列表推導(dǎo)式
          四、Tuple(元組)
          Python的元組,沒(méi)想象的那么簡(jiǎn)單
          五、Set(集合)
          全面理解Python集合,17個(gè)方法全解,看完就夠了
          六、Dictionary(字典)
          Python字典詳解-超級(jí)完整版
          七、內(nèi)置函數(shù)
          Python初學(xué)者必須吃透這69個(gè)內(nèi)置函數(shù)!
          八、正則模塊
          Python正則表達(dá)式入門到入魔
          筆記 | 史上最全的正則表達(dá)式
          八、系統(tǒng)操作
          Python之shutil模塊11個(gè)常用函數(shù)詳解
          Python之OS模塊39個(gè)常用函數(shù)詳解
          九、進(jìn)階模塊
          【萬(wàn)字長(zhǎng)文詳解】Python庫(kù)collections,讓你擊敗99%的Pythoner
          高手如何在Python中使用collections模塊

          掃描關(guān)注本號(hào)↓

          瀏覽 53
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  777在线视频 | 伊人大香焦网 | 国产乱婬AV片免费 | A∨视频在线免费观看 | 美女又黄又免费 |