You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何取消Jupyter中Pandas的Print输出截断?pd.set_option无效

解决Jupyter中pandas输出截断问题

问题场景

使用pandas 1.4.4和Python 3.9.13在Jupyter Notebook中遍历分类列打印唯一值统计时,输出被截断,已尝试display.max_rows、display.max_columns等设置但无效。

有效解决方案

针对value_counts()的输出截断问题,可通过以下方式解决:

1. 补充pandas显示设置

除了已尝试的选项,需添加序列显示限制的设置:

pd.set_option('display.max_seq_items', None)

该选项控制Series等序列类型的显示数量,设置为None即取消截断。确保在打印代码前执行所有pandas设置。

2. 强制转为字符串输出

直接将value_counts()结果转为字符串,绕过pandas的显示限制:

for column in categorical_cols[1:]:
    unique_values = df[column].value_counts()
    non_null_values = df[column].count()
    print(f'Column: {column} - Non-null values: {non_null_values}')
    print(unique_values.to_string())  # 强制完整输出
    print()

3. 解除Jupyter单元格输出限制

Jupyter自身会限制单元格输出高度,可通过CSS解除:

from IPython.core.display import display, HTML
display(HTML("<style>.jp-Cell-outputArea {max-height: none !important;}</style>"))

完整示例代码

import pandas as pd
from IPython.core.display import display, HTML

# 配置pandas显示选项
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.max_seq_items', None)

# 解除Jupyter输出高度限制
display(HTML("<style>.jp-Cell-outputArea {max-height: none !important;}</style>"))

# 筛选分类列
categorical_cols = df.select_dtypes(include=['object']).columns

# 遍历打印完整结果
for column in categorical_cols[1:]:
    unique_values = df[column].value_counts()
    non_null_values = df[column].count()
    print(f'Column: {column} - Non-null values: {non_null_values}')
    print(unique_values.to_string())
    print()

内容的提问来源于stack exchange,提问作者Nick Kobets

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 03:09:56