網站首頁 編程語言 正文
1. 引言
如果能夠將我們的無序數據快速組織成更易讀的格式,對于數據分析非常有幫助。 Python 提供了將某些表格數據類型輕松轉換為格式良好的純文本表格的能力,這就是 tabulate 庫。
閑話少說,我們直接開始吧。 :)
2. 準備工作
安裝tabulate庫
安裝tabulate庫非常容易,使用pip即可安裝,代碼如下:
pip install tabulate
導入tabulate函數
接著我們需要導入我們需要的tabulte函數,如下:
from tabulate import tabulate
準備工作做好后,接下來我們來舉個栗子。
3. 舉個栗子
3.1 使用list生成表格
接著我們假設我們有以下數據:
table = [['First Name', 'Last Name', 'Age'], ['John', 'Smith', 39], ['Mary', 'Jane', 25], ['Jennifer', 'Doe', 28]]
接著我們可以使用 tabulate 函數將上述數據組織成一個更易讀的表格形式,代碼如下:
print(tabulate(table))
結果如下:
由于上述list中的第一個列表包含每列的名稱,我們可以使用以下參數將列名單獨顯示出來,代碼如下:
print(tabulate(table, headers='firstrow'))
結果如下:
tabulate 函數還包提供一個 tablefmt 參數,它允許我們進一步改進表格的外觀,代碼如下:
print(tabulate(table, headers='firstrow', tablefmt='grid'))
結果如下:
相比grid,我更喜歡對 tablefmt 使用fancy_grid參數,其表現形式如下:
print(tabulate(table, headers='firstrow', tablefmt='fancy_grid'))
結果如下:
3.2 使用dict生成表格
當然,在Python中我們也可以使用字典來生成相應的表格。代碼如下:
info = {'First Name': ['John', 'Mary', 'Jennifer'], 'Last Name': ['Smith', 'Jane', 'Doe'], 'Age': [39, 25, 28]}
在字典的情況下,鍵通常是列的標題,值將是這些列的元素取值。我們通常通過傳遞“keys”作為 headers 參數的參數來指定鍵是表格的標題:
print(tabulate(info, headers='keys'))
輸出如下:
當然,此時我們也可以使用 tablefmt 參數來改善表格的外觀,代碼如下:
print(tabulate(info, headers='keys', tablefmt='fancy_grid'))
輸出如下:
3.3 增加索引列
進一步來說,我們還可以使用showindex參數來向表格中添加索引列,代碼如下:
3.4 缺失值處理
如果我們從字典中移走’Jennifer’,此時我們的表格將會包含一個空白單元格,代碼如下:
print(tabulate({'First Name': ['John', 'Mary'], 'Last Name': ['Smith', 'Jane', 'Doe'], 'Age': [39, 25, 28]}, headers="keys", tablefmt='fancy_grid'))
輸出如下:
有時候,我們覺得缺失值用空白格表示不太美觀,此時我們可以設置默認值來顯示,代碼如下:
print(tabulate({'First Name': ['John', 'Mary'], 'Last Name': ['Smith', 'Jane', 'Doe'], 'Age': [39, 25, 28]}, headers="keys", tablefmt='fancy_grid'))
4. 總結
本文介紹了在python中使用tabulate庫來創建表格,并針對輸出形式進行不斷改進來美化輸出效果,并給出了代碼示例。
原文鏈接:https://blog.csdn.net/sgzqc/article/details/122608867
相關推薦
- 2022-06-27 使用AOP+redis+lua做方法限流的實現_Redis
- 2022-08-23 C++深入講解函數重載_C 語言
- 2022-03-14 Action請求后臺出現Response already commited異常解決方法
- 2022-05-08 Python?matplotlib繪制xkcd動漫風格的圖表_python
- 2022-08-03 python+html實現前后端數據交互界面顯示的全過程_python
- 2022-10-20 VS?Code?常用自定義配置代碼規范保存自動格式化_相關技巧
- 2022-07-31 Windows使用cmd命令行查看、修改、刪除與添加環境變量_DOS/BAT
- 2023-03-15 Docker網絡配置及部署SpringCloud項目詳解_docker
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支