Python Pandas DataFrame 表格 打印输出不能对齐的两种解决方案
最近在学数据分析,中英文混合的DataFrame表格会出现print()打印无法对齐的情况,导致输出的结果都没有对齐,十分不美观,也影响直观的分析。下面介绍两种解决方案,总有一款适合你:
准备工作:为演示方便,通过导入excel的方式建立名为’stu’, ‘stu2’ 的两个DataFrame格式对象
import pandas as pd
stu = pd.read_excel('Data\studentsInfo.xlsx','Group1',index_col=0)
stu.dropna(inplace=True)
stu2 = pd.read_excel('Data\studentsInfo.xlsx','Group1',index_col=0)
1.适用于纯文本输出print()函数的设置方法
若在IDLE等纯文本输出的环境下,使用display()函数或print()函数都只能输出纯文本形式的表格,如下:
由于中英文混合的关系导致列没有对齐
通过pd.set_option进行设置,代码如下:
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
pd.set_option('display.width', 180) # 设置打印宽度(**重要**)
print(stu)
输出如下:
注意:如果打印宽度设置过小或保持默认,则有可能出现表格的列被强制换行的情形:
2.适用于JupyterNotebook的格式化的表格输出
若在JupyterNotebook中直接输出DataFrame格式,则是有线框的HTML格式的表格
代码如下:(以下代码均是JupyterNotebook的cell中运行的)
stu
输出如下:(是一个HTML格式的表格)
性别 | 年龄 | 身高 | 体重 | 省份 | 成绩 | 月生活费 | 课程兴趣 | 案例教学 | |
---|---|---|---|---|---|---|---|---|---|
序号 | |||||||||
2 | male | 22.0 | 180 | 71.0 | GuangXi | 77.0 | 1300.0 | 3 | 4 |
4 | male | 20.0 | 177 | 72.0 | LiaoNing | 79.0 | 900.0 | 4 | 4 |
6 | male | 20.0 | 179 | 75.0 | YunNan | 92.0 | 950.0 | 5 | 5 |
7 | female | 21.0 | 166 | 53.0 | LiaoNing | 80.0 | 1200.0 | 4 | 5 |
8 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
9 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
10 | male | 19.0 | 169 | 76.0 | HeiLongJiang | 88.0 | 1100.0 | 5 | 5 |
但是这种方式无法同时在一个cell中显示两个表格,只显示最后一个表格
代码如下:
stu
stu2
输出如下:
性别 | 年龄 | 身高 | 体重 | 省份 | 成绩 | 月生活费 | 课程兴趣 | 案例教学 | |
---|---|---|---|---|---|---|---|---|---|
序号 | |||||||||
1 | male | 20.0 | 170 | 70.0 | LiaoNing | NaN | 800.0 | 5 | 4 |
2 | male | 22.0 | 180 | 71.0 | GuangXi | 77.0 | 1300.0 | 3 | 4 |
3 | male | NaN | 180 | 62.0 | FuJian | 57.0 | 1000.0 | 2 | 4 |
4 | male | 20.0 | 177 | 72.0 | LiaoNing | 79.0 | 900.0 | 4 | 4 |
5 | male | 20.0 | 172 | NaN | ShanDong | 91.0 | NaN | 5 | 5 |
6 | male | 20.0 | 179 | 75.0 | YunNan | 92.0 | 950.0 | 5 | 5 |
7 | female | 21.0 | 166 | 53.0 | LiaoNing | 80.0 | 1200.0 | 4 | 5 |
8 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
9 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
10 | male | 19.0 | 169 | 76.0 | HeiLongJiang | 88.0 | 1100.0 | 5 | 5 |
为了在一个cell 输出多个表格,可以使用IPython.display,代码如下:
from IPython.display import display
display(stu)
display(stu2)
输出如下:
性别 | 年龄 | 身高 | 体重 | 省份 | 成绩 | 月生活费 | 课程兴趣 | 案例教学 | |
---|---|---|---|---|---|---|---|---|---|
序号 | |||||||||
2 | male | 22.0 | 180 | 71.0 | GuangXi | 77.0 | 1300.0 | 3 | 4 |
4 | male | 20.0 | 177 | 72.0 | LiaoNing | 79.0 | 900.0 | 4 | 4 |
6 | male | 20.0 | 179 | 75.0 | YunNan | 92.0 | 950.0 | 5 | 5 |
7 | female | 21.0 | 166 | 53.0 | LiaoNing | 80.0 | 1200.0 | 4 | 5 |
8 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
9 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
10 | male | 19.0 | 169 | 76.0 | HeiLongJiang | 88.0 | 1100.0 | 5 | 5 |
性别 | 年龄 | 身高 | 体重 | 省份 | 成绩 | 月生活费 | 课程兴趣 | 案例教学 | |
---|---|---|---|---|---|---|---|---|---|
序号 | |||||||||
1 | male | 20.0 | 170 | 70.0 | LiaoNing | NaN | 800.0 | 5 | 4 |
2 | male | 22.0 | 180 | 71.0 | GuangXi | 77.0 | 1300.0 | 3 | 4 |
3 | male | NaN | 180 | 62.0 | FuJian | 57.0 | 1000.0 | 2 | 4 |
4 | male | 20.0 | 177 | 72.0 | LiaoNing | 79.0 | 900.0 | 4 | 4 |
5 | male | 20.0 | 172 | NaN | ShanDong | 91.0 | NaN | 5 | 5 |
6 | male | 20.0 | 179 | 75.0 | YunNan | 92.0 | 950.0 | 5 | 5 |
7 | female | 21.0 | 166 | 53.0 | LiaoNing | 80.0 | 1200.0 | 4 | 5 |
8 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
9 | female | 20.0 | 162 | 47.0 | AnHui | 78.0 | 1000.0 | 4 | 4 |
10 | male | 19.0 | 169 | 76.0 | HeiLongJiang | 88.0 | 1100.0 | 5 | 5 |
觉得有用的话,不要吝惜评论点赞分享哦,希望大家多多包涵,有任何问题欢迎指正、讨论。
本文基于CC-BY-SA 4.0协议,欢迎转载
(博客看累了?去我的B站瞧一瞧?)
Python Pandas DataFrame 表格 打印输出不能对齐的两种解决方案相关推荐
- python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行。
python pandas DataFrame 替换 NaN 值 和 删除 NaN 所在的行. import pandas as pd import numpy as np df1 = pd.Data ...
- python pandas DataFrame 查找NaN所在的位置
python pandas DataFrame 查找 NaN 所在的位置 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期' ...
- python pandas dataframe 列 转换为离散值
python pandas dataframe 列 转换为离散值 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': [' ...
- python pandas DataFrame 排序
python pandas DataFrame 排序 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': ['2021-7 ...
- python pandas DataFrame 字符串转日期格式
python pandas DataFrame 字符串转日期格式 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': [' ...
- python pandas DataFrame 数据替换
python pandas DataFrame 替换 import pandas as pd import numpy as np df1 = pd.DataFrame({'日期': ['2021-7 ...
- python pandas DataFrame 转置
python pandas DataFrame 转置 import pandas as pd df1 = pd.DataFrame({'日期': ['2021-7-2', '2021-8-2', '2 ...
- python pandas dataframe 行列选择,切片操作 原创 2017年02月15日 21:43:18 标签: python 30760 python pandas dataframe
python pandas dataframe 行列选择,切片操作 原创 2017年02月15日 21:43:18 标签: python / 30760 编辑 删除 python pandas dat ...
- Python pandas.DataFrame.combine_first函数方法的使用
Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.Pandas提供了大量能使我们快速 ...
最新文章
- 机器学习算法推导的较好例子
- 英伟达用AI给自家纪录片配音,情绪节奏稳稳拿捏,不说根本听不出来
- systemback-----做你折腾的后盾
- 数据结构实验之栈与队列八:栈的基本操作
- 多视图几何总结——摄像机模型
- 旅游系统_旅游标识系统,必须真的“旅游化”
- Linux-5.10.13内核完全注释之工作队列
- 做老板的,首先要懂销售,销售什么?
- property.js
- label怎么换行 vb_vb代码里如何换行啊?
- python开发grasshopper插件_Rhino_Grasshopper_Python 开发的正确姿势
- MySQL 定时备份数据库(包含脚本)
- 一键重装深度linux系统下载,Deepin 20 Beta X64官方正式版(64位)
- 单核CPU如何执行多线程
- PHP抓取某页面指定内容
- 微信小程序--公共组件使用
- VS2017使用点滴
- 2857: 编程题AB-第二价格密封拍卖
- 织梦Dedecms制作"关于我们"等单页面的实现方法
- 【TMT数据传不到MES中间库】-F18