python控制excel降序排列_Python实现EXCEL表格的排序功能示例
EXCEL的數(shù)值排序功能還是挺強大的,升序、降序,尤其自定義排序,能夠?qū)Χ鄠€字段進行排序工作。
那么,在Python大法中,有沒有這樣強大的排序功能呢?答案是有的,而且本人覺得Python的排序功能,一點不比EXCEL的差。
同樣,我們依然用到的是強大的pandas這個三方庫。我們先將numpy和pandas導(dǎo)入進來:
接著構(gòu)造一個今天要用到的DataFrame,我們用字典的形式來構(gòu)造。
都是隨意構(gòu)造的,內(nèi)容別較真。我們先來個簡單點的熱熱身,按照身高的降序來排列一下。
我們用到的是df.sort_values()這個函數(shù)。第一個參數(shù)為by,傳入你要排序的列的標簽名即可,后面的ascending參數(shù)指示排序方法為升序還是降序,True為升序,False為降序。由于存在相同的身高,pandas會自動的比較兩個相同身高所對應(yīng)的index,按照index的升序來排列。
假如我有這樣一個需求:先按照身高降序排序,若存在相同的身高,則再按照武力來降序排序,可以做到嗎?
當然可以,我們只需要在by參數(shù)里傳入列標簽組成的列表即可。
通過這個例子我們可以看到,by參數(shù)不但可以傳入字符串,還可以傳入字符串組成的列表,來實現(xiàn)對多個列進行排序。
接著,我的要求再高一點。身高我依然需要降序,但是武力我需要升序,可以嗎?
我們直接上結(jié)果:
跟by參數(shù)類似,我們只需要在ascending參數(shù)中也傳入布爾值組成的列表就可以了,意思就是告訴pandas,這兩列我各自需要的排序方式,就跟后面ascending參數(shù)里指定的一樣。因此,這兩個參數(shù)的列表內(nèi)的元素個數(shù)需要是一致的,否則就會報錯了,因為沒法一一對應(yīng)。
關(guān)于sort_values這個強大的排序函數(shù)就介紹到這了。除了這些參數(shù)之外,它還有inplace、kind和na_position等參數(shù)來應(yīng)對不同的排序需求。可以參考官網(wǎng)文檔進行學(xué)習(xí)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持。
總結(jié)
以上是生活随笔為你收集整理的python控制excel降序排列_Python实现EXCEL表格的排序功能示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps扣取签名
- 下一篇: OpenCV+Python识别车牌和字符