是否使用 Unicode East Asian Width 来计算显示文本宽度。启用此功能可能会影响性能(默认值:False)[默认值:False] [当前:False]
解决方法:
添加如下语句
# 没导入模块需要先导入
# import pandas as pd
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
2.pandas显示所有行和列:
如果超过max_rows,则切换到truncate视图。 根据large_repr的不同,对象要么被集中截断,要么被打印为摘要视图。 ' None '值表示无限。
如果python/IPython在终端中运行,并且large_repr等于' truncate ',该值可以设置为0,pandas将自动检测终端的高度并打印一个符合屏幕高度的截断对象。 IPython笔记本、IPython qtconsole或IDLE不能在终端中运行,因此无法进行正确的自动检测。 [默认值:60][当前值:60]
大概意思就是超出了默认的
行数
就会被截断用省略号代替,默认值为60,设置值为0表示pandas自动检测终端的宽度并打印一个符合屏幕宽度的截断对象,设置None则无行数的显示限制
如果超过max_cols,则切换到truncate视图。 根据large_repr的不同,对象要么被集中截断,要么被打印为摘要视图。 ' None '值表示无限。
如果python/IPython在终端中运行,并且large_repr等于' truncate ',该值可以设置为0,pandas将自动检测终端的宽度并打印一个符合屏幕宽度的截断对象。 IPython笔记本、IPython qtconsole或IDLE不能在终端中运行,因此无法进行正确的自动检测。 [默认值:0][当前值:0]
pandas模块输出的时候,每行和列的中间会有省略号出现,原因是超出了pandas模块自动默认的行数和列数所以用省略号代替。
大概意思就是超出了默认的
列数
就会被截断用省略号代替,默认值为0,设置值为0表示pandas将自动检测终端的宽度并打印一个符合屏幕宽度的截断对象,设置None则无行数的显示限制
pandas数据结构的repr中列的
最大字符宽度
。 当列溢出时,一个“…”占位符会嵌入到输出中。 一个“None”值意味着无限。 [默认值:50][当前值:50]
如果超出范围就使用省略号代替:
解决方法一:
配置如下代码
# 没导入模块需要先导入
# import pandas as pd
# 设置None则无行数的显示限制
pd.set_option('display.max_rows', None)
# 设置None则无列数的显示限制
pd.set_option('display.max_columns', None)
# 设置value的显示长度为100,默认为50
pd.set_option('max_colwidth', 100)
解决方法二:
# 使用如下代码打印输出:
print(df.to_string())
3.pandas解决换行显示问题
字符显示的宽度
。 如果python/IPython在终端中运行,这可以设置为None,熊猫将正确地自动检测宽度。 注意,IPython笔记本、IPython qtconsole或IDLE不会在终端中运行,因此不可能正确地检测宽度。 [默认值:80][当前值:80]
解决方法:
将value值设置大一点,如下设置1000根据自己需要调整。
# 没导入模块需要先导入
# import pandas as pd
# 不换行显示
pd.set_option('display.width', 1000)
import
pandas
as pd
#这两个参数的默认设置都是False
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
以上这篇
解决
pandas
展示
数据
输出时
列
名不能
对齐
的
问题
就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:对
pandas
对于强迫症的我,必须得把它弄
对齐
了才
行
!
于是乎,在代码
行
加入以下两
列
:
pd.set_option('display.unicode.ambiguous_as_wide', True) #处理
数据
的
列
标题与
数据
无法
对齐
的情况
pd.set_option('display.unicode.east_asian_width', True) #无法
对齐
主要是因为
列
标题是中文
最后
显示
效果如下:
pandas
显示
对于字符宽度的控制默认是英文,当DataFrame的
列
名含有中文时,
pandas
就无法准确的控制
列
宽,从而导致
列
名和
列
没有
对齐
;对此,我们只要修改下
pandas
显示
的默认设置即可,将两项设置都设为True即可,具体如下:
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)
有的时候需要利用现成的深度学习模型去
解决
实际应用,如使用自然语言处理的bert模型来对菜品分类,即给出菜品的名字,利用模型将其分成小吃、快餐、饮料等类别。但是统计到的表格里面,通常菜名里面会包含奇怪的字符(如制表符和
换
行
符),因此需要进
行
合适的处理,才能送给网络学习。
这里可以看到,"至尊 驴肉火烧"这里就有一个空格符,会带来干扰。于是可以采取下
列
的pands库的replace语句处理:
train['product_name'] = train['product_name'].apply(lambda x
import
pandas
as pd
#
解决
数据
输出时
列
名不
对齐
的
问题
pd.set_option('display.unicode.east_asian_width',True)
data=[[110,110,99],[105,88,115],[109,120,130],[112,115]]
name=['明日','七月流火','高袁圆','二月二']
columns=['语文','数学','英语']
df=pd.DataFra