Python+pandas你可能不知道的排序技巧

2021-03-02 Python小屋

封面圖片:《Python程序設計基礎與應用》(ISBN:9787111606178),董付國,機械工業出版社

圖書詳情:https://item.jd.com/12433472.html

=============

除了支持使用sort_index()方法按索引或列名進行排序,pandas的DataFrame結構還支持sort_values()方法根據值進行排序,本文重點介紹sort_values()方法,其完整語法如下:

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

其中常用的參數有:1)參數by用來指定依據哪個或哪些名字的列進行排序,如果只有一列則直接寫出列名,多列的話需要放到列表中;2)參數ascending=True表示升序排序,ascending=False表示降序排序;3)參數inplace=True時表示原地排序,inplace=False表示返回一個新的DataFrame;4)參數na_position用來指定把缺失值放在最前面(na_position='first')還是最後面(na_position='last')。

下面的代碼演示了這個方法的用法:

有時候,我們可能需要對不同的列使用不同的順序進行排序,比如某一列升序而另一列降序,這時就需要用到參數ascending的另一種用法了,官方文檔對sort_values()方法的參數解釋如下:

也就是說,如果參數ascending設置為包含若干True/False的列表(必須與by列表長度相等),可以為不同的列指定不同的順序。例如下面的代碼:

溫馨提示

關注本公眾號「Python小屋」,通過菜單「最新資源」==>「歷史文章」可以快速查看分專題的800篇技術文章列表(可根據關鍵字在頁面上搜索感興趣的文章),通過「最新資源」==>「微課專區」可以免費觀看300節Python微課,通過「最新資源」==>「培訓動態」可以查看近期Python培訓安排,通過「最新資源」==>「教學資源」可以查看Python教學資源。

---董付國老師Python系列圖書---

友情提示:不建議購買太多,最好先通過京東、噹噹、天貓查閱圖書了解目錄和側重點,然後再選擇購買適合自己的書。

1)《Python程序設計(第2版)》清華大學出版社,2016年8月

2)《Python可以這樣學》清華大學出版社,2017年2月

3)《Python程序設計基礎(第2版)》清華大學出版社,2018年1月

4)《中學生可以這樣學Python》清華大學出版社,配套微課:《中學生可以這樣學Python》84節微課免費觀看地址

5)《Python程序設計開發寶典》清華大學出版社,2018年10月

6)《玩轉Python輕鬆過二級》清華大學出版社,2018年5月

7)《Python程序設計基礎與應用》機械工業出版社,2018年9月

8)《Python程序設計實驗指導書》清華大學出版社,2019年4月

9)《Python編程基礎與案例集錦(中學版)》電子工業出版社,2019年4月

10)《大數據的Python基礎》機械工業出版社,預計2019年5月出版

11)譯作《Python程序設計》,機械工業出版社(華章),2018年11月出版

12)繁體版《Python也可以這樣學》,臺灣博碩文化股份有限公司,2017年10月出版,本書為《Python可以這樣學》在臺灣發行的繁體版,兩本書內容一樣,不建議重複購買。

《中學生可以這樣學Python》84節微課免費觀看地址

Python課程期末考試編程題自動批卷原理與實現模板

「Python小屋」免費資源匯總(截至2018年11月28日)

Python課堂上我與學生鬥智鬥勇已8個學期

技術要點|Python監控學生端電腦屏幕自動識別學習狀態

課後習題答案

《Python程序設計基礎(第2版)》習題答案

《Python程序設計基礎與應用》課後習題答案

實驗指導書

《Python程序設計》實驗指導書(30個實驗)

Python實驗項目1例:使用進程池統計指定範圍內素數的個數

教學大綱

非計算機專業《Python程序設計基礎》教學參考大綱

計算機相關專業「Python程序設計」教學大綱(參考)

課件

1900頁Python系列PPT分享一:基礎知識(106頁)

1900頁Python系列PPT分享二:Python序列(列表、元組、字典、集合)(154頁)

1900頁Python系列PPT分享三:選擇與循環結構語法及案例(96頁)

1900頁Python系列PPT分享四:字符串與正則表達式(109頁)

1900頁Python系列PPT分享五:函數設計與應用(134頁)

1900頁Python系列PPT分享六:面向對象程序設計(86頁)

1900頁Python系列PPT分享七:文件操作(132頁)

1900頁Python系列PPT分享八:異常處理結構與程序調試、測試(70頁)

2000頁Python系列PPT分享九:(GUI編程)(122頁)

報告PPT

報告PPT(163頁):基於Python語言的課程群建設探討與實踐

報告PPT(123頁):Python編程基礎精要

(PPT)Python程序設計課程教學內容組織與教學方法實踐

相關焦點

  • Python:Pandas的DataFrame如何按指定list排序
    前言寫這篇文章的起由是有一天微信上一位朋友問到一個問題,問題大體意思概述如下:現在有一個pandas的Series和一個python的list,想讓Series按指定的list進行排序,如何實現?這個問題的需求用流程圖描述如下:我思考了一下,這個問題解決的核心是引入pandas的數據類型「category」,從而進行排序。在具體的分析過程中,先將pandas的Series轉換成為DataFrame,然後設置數據類型,再進行排序。思路用流程圖表示如下:
  • Python學習指南| 快速入門Pandas數據分析技巧
    首先,你不應該真的只想著去學習pandas。 雖然知道如何在資料庫中執行操作會很有用,但它不會像在數據分析過程中實際使用它的方式那樣。 你可以將你的學習分為兩個不同的類別:1.學習獨立於數據分析的pandas library2.
  • 那些可以提升pandas的使用小技巧、你知道了嗎
    ❝已識乾坤大、猶憐草木青❞pandas是Python中常用的數據分析庫、出現頻率非常高;而且極其功能非常多,即使是pandas使用老手也無法保證可以高效使用pandas進行數據分析、以下梳理幾個實用的高效實用pandas小技巧。
  • Python,Numpy,Pandas……數據科學家必備排序技巧
    Python會提供許多內置庫,優化排序選項。有些庫甚至可以同時在GPU上運行。令人驚奇的是,一些排序方法並沒有使用之前所述的算法類型,其他方法的執行效果也不如預期。選擇使用哪種庫和哪類排序算法著實難辦,因為算法的執行變化很快。本文將具體展開講解,提供一些幫助記憶算法的技巧,分享測速的結果。
  • 11個Python Pandas小技巧讓你的工作更高效(附代碼實例)
    本文為你介紹Pandas隱藏的炫酷小技巧,我相信這些會對你有所幫助。或許本文中的某些命令你早已知曉,只是沒意識到它還有這種打開方式。Pandas是一個在Python中廣泛應用的數據分析包。市面上有很多關於Pandas的經典教程,但本文介紹幾個隱藏的炫酷小技巧,我相信這些會對你有所幫助。
  • 關於Pandas數據處理你不知道的技巧!
    旗下高端量化雲平臺當我們參加一些比賽時,我們可能要花費大量時間來處理數據。本文將由淺到深,為大家講解關於Pandas在數據清理和處理的一些技巧!這與 pandas.Datafram.isnull() 完全相同。相關文檔:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.isna.html
  • 整理了9個Pandas實用技巧
    __version__Out[7]: 0.24.2如果你還想知道pandas所依賴的模塊的版本,你可以使用show_versions()函數:In [9]:pd.show_versions()INSTALLED VERSIONS --- commit: None python: 3.7.3
  • 你可能不知道的pandas的5個基本技巧
    between 函數多年來我一直在SQL中使用「between」函數,但直到最近才在pandas中發現它。它看起來可能不多,但是當編寫許多過濾器時,這些括號很煩人。帶有between函數的過濾器也更具可讀性。
  • 6個提升效率的pandas小技巧
    pandas是python中常用的數據分析庫,出現頻率非常高,而且pandas功能之多讓人咋舌,即使pandas老手也沒法保證能高效使用pandas做數據分析。這篇文章目的梳理幾個高效實用的pandas小技巧,供大家參考。1.
  • Python數學建模技巧之pandas數據處理
    Python眾多的第三方庫提供了這種可能。最常見的庫有進行矩陣運算的Numpy、進行數據處理的pandas、進行科學計算的Scipy、進行圖形繪製及科學可視化的matplotlib、進行符號計算的Sympy以及方便進行機器學習任務的Sklearn。由於今年美賽官方公告中稱,將會提前在賽題公布之前就提供下載C題數據集的方式。
  • 獨家 | 11個Python Pandas小技巧讓你的工作更高效(附代碼實例)
    本文為你介紹Pandas隱藏的炫酷小技巧,我相信這些會對你有所幫助。或許本文中的某些命令你早已知曉,只是沒意識到它還有這種打開方式。另外,如果你知道某些列的類型,你可以加上dtype = {『c1』: str, 『c2』: int, …} ,這樣會加快載入的速度。加入這些參數的另一大好處是,如果這一列中同時含有字符串和數值類型,而你提前聲明把這一列看作是字符串,那麼這一列作為主鍵來融合多個表時,就不會報錯了。
  • 快速提升效率的6個pandas使用小技巧
    pandas是python中常用的數據分析庫,出現頻率非常高,而且pandas功能之多讓人咋舌,即使pandas老手也沒法保證能高效使用pandas做數據分析。這篇文章目的梳理幾個高效實用的pandas小技巧,供大家參考。1.
  • 十分鐘學習pandas!pandas常用操作總結!
    學習Python, 當然少不了pandas,pandas是python數據科學中的必備工具,熟練使用pandas是從sql boy/girl 跨越到一名優秀的數據分析師傅的必備技能。這篇pandas常用操作總結幫大家回顧下pandas的常用語法,尤其是我們分析數據時常用的方法。
  • pandas實現中文排序
    pandas過程中有時會遇到排序,尤其是中文排序,例如excel排序,按姓名拼音排序等等,而pandas默認的排序並不能滿足我們的中文排序,所以有了這個中文排序方式一、首先實現中文的拼音排序def to_pinyin(s):    '''轉拼音    :param s: 字符串或列表    :type s: str or
  • 你可能不知道的 Python 技巧
    如果我們只想丟棄迭代器的開頭部分(在此例中是注釋),並且不知道有多少內容,那麼此方法很有用。5、用__slots__節省內存如果你曾經編寫過一個程序,該程序創建了某個類的大量實例,那麼你可能已經注意到你的程序突然就需要大量內存。那是因為 Python 使用字典來表示類實例的屬性,這能使其速度變快,但內存不是很高效。
  • 懂Excel輕鬆入門Python數據分析包pandas(二十八):二分法查找
    此系列文章收錄在:數據大宇宙 > 數據處理 > E-pd轉發本文並私信我"python",即可獲得Python資料以及更多系列文章(持續更新的)經常聽別人說 Python 在數據領域有多厲害,結果學了很長時間,連數據處理都麻煩得要死。
  • python-pandas讀寫csv數據
    https://pandas.pydata.org/pandas-docs/stable/https://pandas.pydata.org
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    【每天幾分鐘,從零入門python編程的世界!】numpy的基本的東西我們學習差不多了,後面具體應用中遇到問題具體分析,然後去深入了解遇到的新的知識點就行。現在我們開始學習pandas,pandas一般用的更多,pandas是基於numpy去寫的。pandas是一個專門做數據結構和數據分析的庫。
  • 你不知道的Pandas三大功能,替代Excel排序分分鐘
    前面文章介紹的都是一些經常會用到的函數,這些函數可以讓你效率更高,不會讓你重新發明輪子。那麼,在今天的文章中,🐼君想把重點轉移到幾個更有用的排序篩選功能上,這些功能曾讓我覺得自己就是個徹頭徹尾的白痴。為什麼會這樣想?好吧,我承認我寫代碼的時候很少上網搜索,所以在此之前我也並不知道這些函數的存在。
  • 一場pandas與SQL的巔峰大戰(二)
    方便起見,本文採用hive環境運行SQL,使用jupyter lab運行pandas。關於hive的安裝和配置,我在之前的文章MacOS 下hive的安裝與配置提到過,不過僅限於mac版本,供參考,如果你覺得比較困難,可以考慮使用postgreSQL,它比MySQL支持更多的函數(不過代碼可能需要進行一定的改動)。