Python中创建表格详细过程
作者:赵卓不凡?? 时间:2023-10-08 02:42:51
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'))
结果如下:
来源:https://blog.csdn.net/sgzqc/article/details/122608867
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
C#连接Oracle数据库使用Oracle.ManagedDataAccess.dll
![](https://img.aspxhome.com/file/2023/3/66103_0s.png)
Golang 的defer执行规则说明
分享11个Python自动化操作Excel的方法
![](https://img.aspxhome.com/file/2023/1/108151_0s.gif)
使用tensorflow DataSet实现高效加载变长文本输入
使用AJAX和Django获取数据的方法实例
详解vue事件对象、冒泡、阻止默认行为
wap开发中如何有效的利用缓存减少消息的传送量
python 实现ping测试延迟的两种方法
python连接sql server数据库的方法实战
![](https://img.aspxhome.com/file/2023/8/84948_0s.jpg)
vue2 设置router-view默认路径的实例
python安装cx_Oracle和wxPython的方法
![](https://img.aspxhome.com/file/2023/1/93451_0s.png)
记录无法安装mysql-Invalid GPG Key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法
浅析python 中大括号中括号小括号的区分
MySql安装启动两种方法教程详解
![](https://img.aspxhome.com/file/2023/8/128418_0s.png)
python进阶教程之词典、字典、dict
python使用Matplotlib绘制多种常见图形
![](https://img.aspxhome.com/file/2023/4/101594_0s.webp)
在sql中对两列数据进行运算作为新的列操作
![](https://img.aspxhome.com/file/2023/8/105498_0s.jpg)
Python读取本地文件并解析网页元素的方法
HTTP中header头部信息详解
Python实现ping指定IP的示例
![](https://img.aspxhome.com/file/2023/7/107187_0s.jpg)