为何Pandas显示数据时隐藏列?输出省略号成因解析
Pandas显示数据时隐藏列(出现省略号)的原因及解决办法
先看你运行的这段代码:
print(data.head()) data ['Check value'] = data['Low'] > 10 print(data.head())
对应的输出里出现了省略号,把中间的列给隐藏了——这其实是Pandas的默认行为,我来给你拆解清楚:
为什么会出现省略号?
Pandas默认对输出的列数做了限制(默认max_columns参数约为20,不同版本略有差异),当你的DataFrame列数超过这个阈值时,它会自动折叠中间的列,只保留开头和结尾的部分,用...代替,目的是避免输出内容太长,导致可读性变差。你新增Check value列后,总列数变多,刚好触发了这个自动折叠规则。
怎么消除省略号,显示所有列?
给你几个实用的解决办法:
临时全局设置(当前会话有效)
直接修改Pandas的显示参数,让它显示所有列:import pandas as pd # 设置显示所有列,None表示不限制数量 pd.set_option('display.max_columns', None) # 之后再打印就会显示完整列了 print(data.head())如果你不想无限制,也可以指定具体的列数,比如
pd.set_option('display.max_columns', 10),只要列数不超过10就会全显示。单次强制完整输出
如果你只是想查看这一次的完整结果,不想修改全局设置,可以用to_string()方法:print(data.head().to_string())这个方法会把整个DataFrame转换成完整的字符串输出,不会做任何列的省略。
调整输出宽度适配窗口
有时候列数没超,但因为终端窗口宽度不够也会触发折叠,这时候可以加宽显示宽度:pd.set_option('display.width', 1000) # 设置足够宽的显示宽度,适配你的终端窗口
这些设置都是临时的,关闭Python会话后就会恢复默认值,一般临时调整就足够日常使用了。
内容的提问来源于stack exchange,提问作者Rana
相关产品推荐
相关产品推荐

