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
猜你喜欢
- 一、对列表(list)进行排序推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序>>> a = [1,9
- 用法: 按住鼠标左键拖拽一个框后释放洗洗睡了<!DOCTYPE html public "-//W3C//DTD XHTML
- 这是我在做的一个游戏的半成品,整理了一下发出来.原理:通过更新变换矩阵来记录转动(函数remx()).利用矩阵计算出转动后的正方体顶点坐标,
- AlexNet介绍AlexNet是2012年ISLVRC 2012(ImageNet Large Scale Visual Recognit
- 题目:1. 利用拉格朗日乘子法#导入sympy包,用于求导,方程组求解等等from sympy import * #设置变量x1 = sym
- Python的zip函数示例1:x = [1, 2, 3]y = [4, 5, 6]z = [7, 8, 9]xyz = zip(x, y,
- 本文实例为大家分享了Python PyQt4实现QQ抽屉效果展示的具体代码,供大家参考,具体内容如下先看截图效果:主要是使用了QT的QTab
- 在某些情况下,比如自动补全(auto complete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。关键在于keyup
- ThinkPHP3.1.3版本有一些特性,还是值得关注的,下面来简单说下。1、异常方面的改进新版的ThinkPHP3.1.3重写了异常类Th
- 初级的图像拼接为将两幅图像简单的粘贴在一起,仅仅是图像几何空间的转移与合成,与图像内容无关。高级图像拼接也叫作基于特征匹配的图像拼接,拼接时
- 正态分布应用最广泛的连续概率分布,其特征是“钟”形曲线。这种分布的概率密度函数为:其中,μ为均值,σ为标准差。求正态分布曲线下面积有3σ原则
- 本文实例讲述了Python列表list操作符。分享给大家供大家参考,具体如下:#coding=utf8''''
- 经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中
- 1. 安装vim:# apt-get install -y vim-gnome2. 安装ctags,ctags用于支持tagli
- 0 引言上周被一则新闻震惊到了,《2454万元大奖无人认领!福彩史上第二大弃奖在广东中山产生 》,在2019年5月2日开奖的双色球中,广东中
- 由于不同的项目需要用不同的python版本,于是使用Anaconda来进行版本管理,现记录一下经验:在官网下载并安装好Anaconda以后(
- 首先导入包含apriori算法的mlxtend库,pip install mlxtend调用apriori进行关联规则分析,具体代码如下,其
- 出图是项目里常见的任务,有的项目甚至会要上百张图片,所以批量出土工具很有必要。arcpy.mapping就是ArcGIS里的出图模块,能快速
- 今年4月,我在宿舍憋出一个拖拽翻页效果原本是为自己的博客网站设计的,周二产生的灵感,周三周四逃课两天算坐标,周五回家,到傍晚才算写出了第一版
- .xls格式 Office2003及以下版本 .xlsx格式Offi