有没有办法在交互式或脚本执行模式下扩大输出显示?
具体来说,我在 Pandas 上使用 describe()
函数 DataFrame
。当 DataFrame
是五列(标签)宽时,我得到了我想要的描述性统计信息。但是,如果 DataFrame
有更多列,则统计信息将被抑制并返回如下内容:
>> Index: 8 entries, count to max
>> Data columns:
>> x1 8 non-null values
>> x2 8 non-null values
>> x3 8 non-null values
>> x4 8 non-null values
>> x5 8 non-null values
>> x6 8 non-null values
>> x7 8 non-null values
无论是 6 列还是 7 列,都会给出“8”值。 “8”指的是什么?
我已经尝试将 IDLE 窗口拖得更大,以及增加“配置 IDLE”宽度选项,但无济于事。
原文由 beets 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新:熊猫 0.23.4 起
这不是必需的。如果您设置
pd.options.display.width = 0
,Pandas 会自动检测终端窗口的大小。 (对于旧版本,请参阅底部。)pandas.set_printoptions(...)
已弃用。相反,使用pandas.set_option(optname, val)
,或等效地使用pd.options.<opt.hierarchical.name> = val
。喜欢:这是
set_option
的帮助:旧版本信息。其中大部分已被弃用。
正如@bmu 提到 的,Pandas 自动检测(默认情况下)显示区域的大小,当对象 repr 不适合显示时,将使用摘要视图。您提到了调整 IDLE 窗口的大小,但没有效果。如果您这样做
print df.describe().to_string()
它是否适合 IDLE 窗口?终端大小由
pandas.util.terminal.get_terminal_size()
(已弃用和删除)确定,这将返回一个包含显示的(width, height)
的元组。输出是否与 IDLE 窗口的大小匹配?可能存在问题(之前在 Emacs 中运行终端时存在问题)。请注意,可以绕过自动检测,如果行数、列数不超过给定限制,
pandas.set_printoptions(max_rows=200, max_columns=10)
将永远不会切换到摘要视图。‘max_colwidth’ 选项有助于查看每列的未截断形式。