核心内容
通过
display类选项控制 DataFrame / Series 在控制台的显示效果,包括行数、列数、宽度、对齐等。
行与列控制
import pandas as pd
import numpy as np
df = pd.DataFrame(
np.random.rand(100, 30),
columns=[f'col_{i}' for i in range(30)]
)
pd.set_option('display.max_rows', 50) # 超出则头尾折叠
pd.set_option('display.max_columns', None) # 显示所有列
pd.set_option('display.width', 100) # 总宽度列宽控制
# 每列内容最大宽度 30 字符,超长以 ... 截断
pd.set_option('display.max_colwidth', 30)
# 不限制列宽
pd.set_option('display.max_colwidth', None)列标题对齐
pd.set_option('display.colheader_justify', 'center') # 居中
pd.set_option('display.colheader_justify', 'left') # 左对齐
pd.set_option('display.colheader_justify', 'right') # 右对齐(默认)维度显示
pd.set_option('display.show_dimensions', True) # 始终显示 "(100 rows x 30 columns)"
pd.set_option('display.show_dimensions', False) # 隐藏维度
pd.set_option('display.show_dimensions', 'truncate') # 仅截断时显示(默认)跨行展开
# 列数过多时是否换行展开全部列
pd.set_option('display.expand_frame_repr', True) # 默认,换行展开
pd.set_option('display.expand_frame_repr', False) # 强制单行(会截断)其他显示设置
# Unicode 东亚字符宽度(让中文对齐更美观)
pd.set_option('display.unicode.east_asian_width', True)
# 输出编码
pd.set_option('display.encoding', 'utf-8')完整示例
with pd.option_context(
'display.max_rows', 100,
'display.max_columns', 20,
'display.width', 120,
'display.max_colwidth', 40,
'display.precision', 3,
'display.colheader_justify', 'left',
'display.show_dimensions', True
):
print(df)配合
df.info()调试df.info(verbose=True, show_counts=True)