pandas dataframe添加表格框线输出的方法

yipeiwu_com6年前Python基础

将dataframe添加到texttable里面,实现格式化输出。

data=[{"name":"Amay","age":20,"result":80},
   {"name":"Tom","age":32,"result":90}]
df=pd.DataFrame(data,columns=['name','age','result'])
print(df)

datafrma如下,现在要给其添加上表格框线。利用texttable。

pandas dataframe添加表格框线输出

tb=Texttable()
tb.set_cols_align(['l','r','r'])
tb.set_cols_dtype(['t','i','i'])
tb.header(df.columns.get_values())
tb.add_rows(df.values,header=False)
'''
header=False表示不将第一参数的第一行作为标题,
这样我们之前的添加的标题就会起作用了
'''
print(tb.draw())

上面就是设置表格输出的对其格式,以及列的数据类型。‘set_cols_align是对水平位置上的左中右靠齐。‘l'表示向左。‘c'表示居中,'r'向右。

set_col_dtype用于设置列的数据类型、数据类型的对应如:

['t', # text
'f', # float (decimal)
'e', # float (exponent)
'i', # integer
'a' # automatic]

tb.header(df.columns.get_values()) 这句是添加标题。 tb.add_rows(df.values,header=False) 这句是添加数据行。默认会将数据行的第一行作为标题。如果我们不设置header=False的话,返回结果:

pandas dataframe添加表格框线输出

之前指定的标题没起作用。应该是将第一行作为标题了。

设置了header=False后结果就出来了:

pandas dataframe添加表格框线输出

最后发一下完整的代码:

# -*- coding: utf-8 -*-
"""
Created on Tue Jan 8 16:47:17 2019
Python Version:3.6.7
@author: Fanxiaolei
"""
import pandas as pd
from texttable import Texttable
data=[{"name":"Amay","age":20,"result":80},
   {"name":"Tom","age":32,"result":90}]
df=pd.DataFrame(data,columns=['name','age','result'])
print(df)
print('添加表格线之后:')
tb=Texttable()
tb.set_cols_align(['l','r','r'])
tb.set_cols_dtype(['t','i','i'])
tb.header(df.columns.get_values())
tb.add_rows(df.values,header=False)
'''
header=False表示不将第一参数的第一行作为标题,
这样我们之前的添加的标题就会起作用了
'''
print(tb.draw())

以上这篇pandas dataframe添加表格框线输出的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用python批量给云主机配置安全组的方法教程

前言 这几年对运维人员来说最大的变化可能就是公有云的出现了,我相信可能很多小伙伴公司业务就跑在公有云上,  因为公司业务关系,我个人接触公有云非常的早,大概在12年左右就是开始...

python3 深浅copy对比详解

一、赋值对比 1、列表 l1 = [1,2,3] l2 = l1 l1.append('a') print(l1,l2) #[1, 2, 3, 'a'] [1, 2,...

在Python中合并字典模块ChainMap的隐藏坑【推荐】

在Python中合并字典模块ChainMap的隐藏坑【推荐】

在Python中,当我们有两个字典需要合并的时候,可以使用字典的 update 方法,例如: a = {'a': 1, 'b': 2} b = {'x': 3, 'y': 4} a....

Java分治归并排序算法实例详解

Java分治归并排序算法实例详解

本文实例讲述了Java分治归并排序算法。分享给大家供大家参考,具体如下: 1、分治法 许多有用的算法在结构上是递归的:为了解决一个给定的问题,算法一次或多次递归地调用其自身以解决紧密相关...

kaggle+mnist实现手写字体识别

现在的许多手写字体识别代码都是基于已有的mnist手写字体数据集进行的,而kaggle需要用到网站上给出的数据集并生成测试集的输出用于提交。这里选择keras搭建卷积网络进行识别,可以直...