如何取消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
相关产品推荐
相关产品推荐

