如何在IPython pandas中配置显示输出

时间:2014-01-21 04:30:51

标签: python terminal pandas ipython

我正在尝试在OS X终端中配置我的IPython输出,但似乎我试图设置的所有更改都没有生效。我正在尝试配置显示设置,以便输出更大的输出(如大DataFrame)而不会截断或作为摘要信息。

在将pandas导入我的脚本之后,我有一些选项设置我尝试了一大堆,但任何一个(或所有,就此而言)似乎都没有生效。我正在使用%run从IPython运行脚本。我在这里做错了吗?

import pandas as pd

pd.set_option('display.expand_max_repr', False)
pd.set_option('display.max_columns', 30)
pd.set_option('display.width', None)
pd.set_option('display.line_width', 200)

我在Stack上查看some threadspandas FAQ无效,即使在显示命名空间(或没有)下使用这些也是如此,正如我在这里尝试的那样。

我知道有一些解决方法,例如在输出上调用to_string()describe()方法,但这些方法非常手动,并且在某些情况下并不总是按预期工作,就像我在to_string()对象上调用groupby的那样产生:

    id       type
106125       puzzle       gameplay_id  sitting_id  user_id           ...
106253       frames       gameplay_id  sitting_id  user_id           ...
106260       trivia       gameplay_id  sitting_id  user_id           ...

我的终端窗口大小足以容纳宽度,并且调用pd.util.terminal.get_terminal_size()正确地找到窗口大小元组,因此看起来自动检测大小也不起作用。任何见解都将不胜感激!

1 个答案:

答案 0 :(得分:24)

为了完整起见(我会将我的评论添加为答案),你错过了:

pd.options.display.max_colwidth  # default is 50

这限制了单个列的最大长度。

这里有很多选项要配置,如果您使用ipython然后选项卡完成以找到full set of display options

pd.options.display.<tab>