您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用Python實現EXCEL表格的排序功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
EXCEL的數值排序功能還是挺強大的,升序、降序,尤其自定義排序,能夠對多個字段進行排序工作。
那么,在Python大法中,有沒有這樣強大的排序功能呢?答案是有的,而且本人覺得Python的排序功能,一點不比EXCEL的差。
同樣,我們依然用到的是強大的pandas這個三方庫。我們先將numpy和pandas導入進來:
接著構造一個今天要用到的DataFrame,我們用字典的形式來構造。
都是隨意構造的,內容別較真。我們先來個簡單點的熱熱身,按照身高的降序來排列一下。
我們用到的是df.sort_values()這個函數。第一個參數為by,傳入你要排序的列的標簽名即可,后面的ascending參數指示排序方法為升序還是降序,True為升序,False為降序。由于存在相同的身高,pandas會自動的比較兩個相同身高所對應的index,按照index的升序來排列。
假如我有這樣一個需求:先按照身高降序排序,若存在相同的身高,則再按照武力來降序排序,可以做到嗎?
當然可以,我們只需要在by參數里傳入列標簽組成的列表即可。
通過這個例子我們可以看到,by參數不但可以傳入字符串,還可以傳入字符串組成的列表,來實現對多個列進行排序。
接著,我的要求再高一點。身高我依然需要降序,但是武力我需要升序,可以嗎?
我們直接上結果:
跟by參數類似,我們只需要在ascending參數中也傳入布爾值組成的列表就可以了,意思就是告訴pandas,這兩列我各自需要的排序方式,就跟后面ascending參數里指定的一樣。因此,這兩個參數的列表內的元素個數需要是一致的,否則就會報錯了,因為沒法一一對應。
以上是“如何使用Python實現EXCEL表格的排序功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。