溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Python實(shí)現(xiàn)EXCEL表格的排序功能

發(fā)布時間:2021-04-07 10:03:15 來源:億速云 閱讀:952 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何使用Python實(shí)現(xiàn)EXCEL表格的排序功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

EXCEL的數(shù)值排序功能還是挺強(qiáng)大的,升序、降序,尤其自定義排序,能夠?qū)Χ鄠€字段進(jìn)行排序工作。

那么,在Python大法中,有沒有這樣強(qiáng)大的排序功能呢?答案是有的,而且本人覺得Python的排序功能,一點(diǎn)不比EXCEL的差。

同樣,我們依然用到的是強(qiáng)大的pandas這個三方庫。我們先將numpy和pandas導(dǎo)入進(jìn)來:

如何使用Python實(shí)現(xiàn)EXCEL表格的排序功能

接著構(gòu)造一個今天要用到的DataFrame,我們用字典的形式來構(gòu)造。

如何使用Python實(shí)現(xiàn)EXCEL表格的排序功能

都是隨意構(gòu)造的,內(nèi)容別較真。我們先來個簡單點(diǎn)的熱熱身,按照身高的降序來排列一下。

如何使用Python實(shí)現(xiàn)EXCEL表格的排序功能

我們用到的是df.sort_values()這個函數(shù)。第一個參數(shù)為by,傳入你要排序的列的標(biāo)簽名即可,后面的ascending參數(shù)指示排序方法為升序還是降序,True為升序,F(xiàn)alse為降序。由于存在相同的身高,pandas會自動的比較兩個相同身高所對應(yīng)的index,按照index的升序來排列。

假如我有這樣一個需求:先按照身高降序排序,若存在相同的身高,則再按照武力來降序排序,可以做到嗎?

當(dāng)然可以,我們只需要在by參數(shù)里傳入列標(biāo)簽組成的列表即可。

如何使用Python實(shí)現(xiàn)EXCEL表格的排序功能

通過這個例子我們可以看到,by參數(shù)不但可以傳入字符串,還可以傳入字符串組成的列表,來實(shí)現(xiàn)對多個列進(jìn)行排序。

接著,我的要求再高一點(diǎn)。身高我依然需要降序,但是武力我需要升序,可以嗎?

我們直接上結(jié)果:

如何使用Python實(shí)現(xiàn)EXCEL表格的排序功能

跟by參數(shù)類似,我們只需要在ascending參數(shù)中也傳入布爾值組成的列表就可以了,意思就是告訴pandas,這兩列我各自需要的排序方式,就跟后面ascending參數(shù)里指定的一樣。因此,這兩個參數(shù)的列表內(nèi)的元素個數(shù)需要是一致的,否則就會報錯了,因為沒法一一對應(yīng)。

以上是“如何使用Python實(shí)現(xiàn)EXCEL表格的排序功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI