<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ù)排序,人人都能學(xué)會的幾種方法

          共 2242字,需瀏覽 5分鐘

           ·

          2021-10-08 17:16

          來源:Python數(shù)據(jù)之道 (ID:PyDataLab)

          作者:陽哥

          Pandas 可以說是 在Python數(shù)據(jù)科學(xué)領(lǐng)域應(yīng)用最為廣泛的工具之一。

          Pandas是一種高效的數(shù)據(jù)處理庫,它以 dataframeseries 為基本數(shù)據(jù)類型,呈現(xiàn)出類似excel的二維數(shù)據(jù)。

          在數(shù)據(jù)處理過程中,咱們經(jīng)常需要將數(shù)據(jù)按照一定的要求進行排序,以方便展示。

          這里,陽哥來給大家分享下 在 Pandas 中排序的幾種常用方法,主要包括 sort_index ?和 sort_values

          01 按索引排序

          數(shù)據(jù)準(zhǔn)備

          文中主要使用了 pandasnumpy ,首先導(dǎo)入 Python 庫,如下:

          import?pandas?as?pd
          import?numpy?as?np
          print(f'pandas?version:?{pd.__version__}')?

          #?pandas?version?1.3.2

          本次使用的數(shù)據(jù)如下:

          data?=?{
          ????'brand':['Python數(shù)據(jù)之道','價值前瞻','菜鳥數(shù)據(jù)之道','Python','Java'],
          ????'B':[4,6,8,12,10],
          ????'A':[10,2,5,20,16],
          ????'D':[6,18,14,6,12],
          ????'years':[4,1,1,30,30],
          ????'C':[8,12,18,8,2],
          }

          index?=?[9,3,4,5,2]

          df?=?pd.DataFrame(data=data,index=index)
          df

          按行索引排序

          sort_index() 是 pandas 中按索引排序的函數(shù),默認(rèn)情況下, sort_index 是按行索引來排序。

          通過設(shè)置參數(shù) ascending 可以設(shè)置升序或降序排列,默認(rèn)情況下是 ascending=True ,為升序排列。

          設(shè)置 ascending=False 時,為降序排列,如下:

          按列的名稱排序

          通過設(shè)置參數(shù) axis=1 可實現(xiàn)按列的名稱排序,如下:

          同樣的,可以設(shè)置 參數(shù) ascending 的值,如下:

          關(guān)于按列的名稱排序,更多的方法,可以參考下面的內(nèi)容:

          02 按數(shù)值排序

          sort_values() 是 pandas 中按數(shù)值排序的函數(shù)。

          按單個列的值排序

          sort_values() 中設(shè)置單個列的列名稱,可以對單個列進行排序,通過設(shè)置參數(shù) ascending 可以設(shè)置升序或降序排列,如下:

          按多個列的值排序

          同時,sort_values() 可以對多個列進行不同的排序,通過設(shè)置列明和排序方式組合來實現(xiàn),如下:

          設(shè)置參數(shù) ascendingyears 列為升序,B 列為降序,如下:

          選擇排序算法

          選擇排序算法,參數(shù) kind 默認(rèn)是 'quicksort',其他算法有 mergesort, heapsort, stable。

          該參數(shù)只針對單個列時才有效。

          在 numpy 的 sort文檔中,對幾種排序的特點進行了描述,主要是程序運行時占用的資源和運行速度有差異。

          numpy 文檔地址:

          https://numpy.org/doc/stable/reference/generated/numpy.sort.html#numpy.sort

          示例如下:

          忽略索引

          在排序過程中,還可以引入 ignore_index 參數(shù),來對行索引重新設(shè)置,如下:

          inplace

          inplace 是 pandas 中常見的一個參數(shù)。

          inplace = True:不創(chuàng)建新的對象,直接對原始對象進行修改;默認(rèn)是 False,即創(chuàng)建新的對象進行修改,原對象不變,和深復(fù)制和淺復(fù)制有些類似。

          缺失值

          先構(gòu)造一個含缺失值的 dataframe,如下:

          data?=?{
          ????'brand':['Python數(shù)據(jù)之道','價值前瞻','菜鳥數(shù)據(jù)之道','Python','Java'],
          ????'B':[4,6,8,np.nan,12],
          ????'A':['Lemon','emma','ZW','app','John'],
          ????'D':[6,18,14,6,12],
          ????'years':[4,1,1,30,30],
          ????'C':[8,12,18,8,2],
          }

          index?=?[9,3,4,5,2]

          df1?=?pd.DataFrame(data=data,index=index)
          df1

          缺失值排在最前面:

          缺失值排在最后面:

          key 參數(shù)

          通過設(shè)置 key 參數(shù),可以將列按照特定條件進行排序,對比下下面的排序:

          源代碼文件

          以上就是關(guān)于 Pandas 中排序的介紹,歡迎大家來暢聊,Pandas 中有哪些實用的小技巧~~

          Python數(shù)據(jù)分析,包括Pandas、Numpy等,代碼地址:

          https://github.com/liyangbit/python_data_analysis


          推薦閱讀


          牛逼!Python常用數(shù)據(jù)類型的基本操作(長文系列第①篇)

          牛逼!Python的判斷、循環(huán)和各種表達式(長文系列第②篇)

          牛逼!Python函數(shù)和文件操作(長文系列第③篇)

          牛逼!Python錯誤、異常和模塊(長文系列第④篇)


          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  五月婷婷中文字幕 | 黄片视频网站免费观看 | 欧美操逼逼逼逼 | 丁香花中文字幕在线播放 | 国产人妻人伦精品一区二区网站 |