为何pd.set_option('display.max_columns')无法完整显示DataFrame全部列?
问题原因及解决办法
为什么pd.set_option('display.max_columns', 20)不生效?
核心原因是终端/控制台的显示宽度不够,Pandas会自动根据输出环境的可用宽度调整DataFrame的显示格式——就算你设置了最大列数,当终端宽度不足以容纳所有列时,多余的列会被折行到每一行的下方重复显示。
另外只设置max_columns还不够,Pandas的display.width参数控制整体显示宽度,默认值通常偏小,这也会导致列被强制换行。
解决步骤
- 同时设置
display.width为足够大的数值,确保能容纳所有列:import pandas as pd df = pd.read_csv(r"C:\Users\Angéla\Downloads\world_population.csv") pd.set_option('display.width', 1000) # 设置足够宽的显示宽度 pd.set_option('display.max_columns', 20) pd.set_option('display.max_rows', 350) print(df) - 如果上述方法仍无效,直接拉宽你的终端/控制台窗口,给Pandas足够的横向显示空间。
- 额外补充:如果不想让内容折行,可以设置
display.expand_frame_repr为False,强制Pandas不自动调整宽度(但需确保终端宽度足够,否则部分内容会被截断):pd.set_option('display.expand_frame_repr', False)
内容的提问来源于stack exchange,提问作者Ange
相关产品推荐
相关产品推荐

