pandas引數設定小技巧

費弗裡發表於2020-08-22

在日常使用pandas的過程中,由於我們所分析的資料表規模、格式上的差異,使得同樣的函式或方法作用在不同資料上的效果存在差異。

  而pandas有著自己的一套引數設定系統,可以幫助我們在遇到不同的資料時靈活調節從而達到最好的效果,本文就將介紹pandas中常用的引數設定方面的知識。

pandas引數設定小技巧
圖1

1 設定DataFrame最大顯示行數

  pandas設定引數中的display.max_rows用於控制列印出的資料框的最大顯示行數,我們使用pd.set_option()來有針對的設定引數,如下面的例子:

pandas引數設定小技巧
圖2

  在修改display.max_rows的引數值之後,我們的資料框只會顯示指定行數的資料,中間的部分都會以省略號的形式顯示,當我們的資料框行數較多,可以加大這個引數以顯示更多行資料。

2 設定DataFrame最大顯示列數

  類似display.max_rows,通過修改display.max_columns我們可以調節最大顯示的資料框列數(預設是20列),這在我們的資料框欄位較多又想全部檢視的時候很有用:

pandas引數設定小技巧
圖3

3 設定每列的最大顯示寬度

  對於一些單元格內容長度較長的資料譬如長文字,在檢視資料框時過長的部分會被簡化為省略號,而通過修改display.max_colwidth引數我們可以在必要時,使得超長的部分也顯示出來:

pandas引數設定小技巧
圖4

4 指定小於某個數的元素顯示為0

  通過display.chop_threshold引數我們在不修改原始資料的情況下,指定資料框中絕對值小於閾值的數顯示為0:

pandas引數設定小技巧
圖5

5 格式化浮點數

  通過display.float_format引數我們可以設定浮點數的顯示格式,譬如這裡我們給浮點數加上字首並設定保留兩位小數:

pandas引數設定小技巧
圖6

6 設定info()方法中非缺失值檢查的行數上限

  針對資料框的info()方法可以幫助我們檢視資料框的一些概覽資訊,譬如每一列對應的非缺失值個數。

  但預設情況下當資料框行數大於1690784行時,再檢視info()資訊,會處於計算效率的考慮略去缺失值檢查資訊。

  這時我們可以通過設定display.max_info_rows引數來提高這個上限:

pandas引數設定小技巧
圖7

7 控制小數列印的精度

  控制資料框中小數的顯示精度除了上文提到的方法之外,還可以通過修改display.precision引數來控制,預設是6位小數:

pandas引數設定小技巧
圖8

8 臨時修改引數

  有些時候我們只希望在某張表上進行設定引數的修改,不希望影響到之後的其他表的顯示。

  這時除了用pd.reset_option()對指定的引數進行復原之外,我們還可以利用with關鍵詞配合pd.option_context以臨時的方式將指定的引數作用在區域性範圍內:

pandas引數設定小技巧
圖9

  以上就是本文的全部內容,歡迎在評論區與我進行討論~

相關文章