作者: 韓信子@ ShowMeAI
數據分析實戰系列: http://www.showmeai.tech/tutorials/40
本文地址: http://www.showmeai.tech/article-detail/285
聲明:版權所有,轉載請聯系平台與作者並注明出處
收藏 ShowMeAI查看
我們在應用 Python 進行數據分析挖掘和機器學習時,最常用的工具庫就是 Pandas,它可以幫助我們快捷地進行數據處理和分析.
對 Pandas 不熟悉的同學,一定要學習下這個寶藏工具庫哦!ShowMeAI 給大家做了一個詳盡的教程,可以在 Python 數據分析教程 中查看,我們同時也制作了 Pandas速查表,方便大家快速查找需要的功能.如果你喜歡跟著視頻學習,那麼推薦B站這個 快速實戰教程.
但在使用 Pandas 時,我們經常會遇到像下面這樣一些問題,它很影響我們查看數據了解詳情.
對於非常長的字段可能顯示不全,如下圖中,URL 被縮短顯示.
Pandas 默認使用『科學計數法』顯示大浮點數,例如 1000000.5
顯示為 1.000e+06
.對於數值較大的數字,就可能有如下的顯示,這導致我們看不到具體數值.
![]( https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/819205584b074b558ca619e354eaa04c~tplv-k3u1fbpfcp-zoom-1.image" width=“30%” referrerpolicy=“no-referrer”>
對於浮點型的字段列,Pandas 可能有不同的位精度.例如下圖中,col_1
精確到小數點後一位,而 col_2
精確到小數點後三位.有時候精度的不一致可能會有信息的差異.
在本篇內容中,ShowMeAI 將介紹如何使用 Pandas 自定義設置來解決諸如上述的問題.主要的設置包括下面內容:
注意:以上設置僅更改數據的顯示呈現方式,實際並不會影響Dataframe存儲的數據.
打印大 Dataframe(行列數很多的數據)時,Pandas 默認顯示前 5 行和後 5 行,如下圖所示.
我們可以通過設置顯示選項 display.max_rows
來更改要顯示的行數,比如我們將其設置為4.
pd.set_option("diaply.max_row", 4)
df
我們可以使用重置選項 pd.reset_option("display.max_rows")
恢復默認行數顯示設置.
同樣的道理,我們可以通過設置 display.max_columns
自定義輸出 Dataframe 時要顯示的列數.
pd.set_option("diaply.max_columns", 6)
df
我們甚至可以設置 pd.set_option('display.max_columns',`` ``None)
來顯示所有列(但是大家需要注意一下內存使用,這個操作可能讓 Jupyter Notebook 一下占用特別多資源).
我們同樣可以使用 pd.reset_option("display.max_columns")
重置返回到默認設置.
在下圖中,我們看不到前兩行的全文,因為它們的字符太長(長度超過了 50).
我們把設置 display.max_colwidth
調整到 70,就可以看到全文了,如下圖所示.
pd.set_option("diaply.max_colwidth", 70)
df
對這個設置重置的操作依舊是pd.reset_option("display.max_colwidth")
.
前面提到的一個例子中,col_1
和 col_2
的小數位精度不一致:
我們可以通過設置 display.float_format
至 "{:.2f}".format
使格式一致,如下圖所示.
該選項只會影響浮點列,而不影響整數列.
pd.set_option("diaply.float_format", "{:.2f}".format)
df
對這個設置重置的操作是 pd.reset_option("display.float_format")
Pandas 默認以科學計數法顯示較大的浮點值.
通過設置 display.float_format
至 "{:,.2f}".format
,我們可以為千位添加分隔符.
pd.set_option("diaply.float_format", "{:,.2f}".format)
df
我們甚至可以添加貨幣符號在數值前面,比如我們把 display.float_format
設置為 "$ {:,.2f}".format
,得到如下結果:
pd.set_option("diaply.float_format", "$ {:,.2f}".format)
df
上面列到的是一些最常用的設置,如果我們記不住這些設置名稱,或者我們想了解全部可以調整的顯示設置,可以怎麼辦呢?實際上大家可以借助pd.describe_option()
獲得所有可用顯示設置的列表.
針針對某個特定的顯示設置,可以在 pd.describe_option()
中傳入想調整的顯示設置名稱來獲取使用細節,例如我們運行pd.describe_option("max_rows")
將打印描述 display.max_rows
使用細節,如下圖所示.
pd.describe_option("max_rows")