我可以请求在IPython笔记本中显示所有Pandas列吗?

时间:2014-03-11 22:02:51

标签: pandas ipython-notebook

默认情况下,pandas命令显示的列数限制为display.max_columns。是否有类似df.showall()的东西可用于在每个命令的基础上覆盖它?

2 个答案:

答案 0 :(得分:2)

我发现这样做的最简单方法如下:

from IPython.core.display import HTML
HTML(df.to_html())

这将在IPython笔记本输出单元格中显示整个表格 - 所有行和列。将为大表显示滚动条。

要显示所有列但不超过N行,请使用:

HTML(df.head(N).to_html())

答案 1 :(得分:1)

您可以定义上下文管理器:

from contextlib import contextmanager

@contextmanager
def temp_option(option, value):
    old_value = pd.get_option(option)
    pd.set_option(option, value)
    yield
    pd.set_option(option, old_value)

然后做你想做的事,比如

>>>with temp_option('display.max_rows', 200):
        print(df)
我认为大熊猫已经有了这个功能,但我找不到它。