如何在PyCharm控制台完整打印pandas DataFrame?解决省略号问题
解决Pandas DataFrame控制台打印省略号的实用方案
我太懂这种无奈了——明明只想在控制台快速检查output.iloc[20:120]这100行数据,结果被一堆...挡得严严实实,还要导出CSV开Excel,不仅慢还麻烦!给你几个实用的替代方案,比导出文件高效多了:
1. 临时修改Pandas显示配置(最常用)
直接调整Pandas的全局显示参数,让它显示足够多的行和列,这样打印时就不会自动省略了。代码如下:
import pandas as pd # 设置最大显示行数为100(刚好覆盖你需要的20-120行) pd.set_option('display.max_rows', 100) # 如果列也被省略,设置显示所有列(None表示无限制) pd.set_option('display.max_columns', None) # 调整控制台宽度,避免列内容换行 pd.set_option('display.width', 1000) # 现在再打印就会显示完整数据了 print(output.iloc[20:120])
这个设置只在当前Python会话中有效,关闭终端就会恢复默认,不用怕影响其他项目。
2. 使用to_string()强制输出完整内容
如果只是偶尔打印一次,不想修改全局配置,可以直接调用DataFrame的to_string()方法,它会生成包含所有内容的字符串:
print(output.iloc[20:120].to_string())
这个方法会忽略默认的显示限制,直接输出全部行和列,适合临时应急。
3. 交互式环境用display()(Jupyter/IPython)
如果你是在Jupyter Notebook或者IPython终端里操作,用IPython的display()函数体验更好,它会生成可滚动的表格,不会轻易出现省略号:
from IPython.display import display display(output.iloc[20:120])
这个方式的排版也比纯打印更美观,还能方便地查看不同部分的数据。
4. 用tabulate生成格式化表格(可选)
如果你想要更整齐、像数据库风格的输出,可以用tabulate库。先安装它:pip install tabulate,然后用下面的代码:
from tabulate import tabulate print(tabulate(output.iloc[20:120], headers='keys', tablefmt='psql'))
输出的表格带边框,列对齐更工整,看起来更舒服。
小技巧:聚焦关键列
如果你的DataFrame列特别多,即使显示所有列也会挤得看不清,可以只选择你需要检查的列,比如:
# 只显示col1、col2、col3这三列的100行数据 print(output.iloc[20:120][['col1', 'col2', 'col3']])
这样既能看到完整数据,又不会因为列太多导致排版混乱。
内容的提问来源于stack exchange,提问作者stevec
相关产品推荐
相关产品推荐

