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

标签 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)

我看过 some threads在 Stack 和 pandas FAQ无济于事,即使在显示命名空间下(或不使用)使用这些命名空间时,正如我在这里尝试过的那样。

我知道有一些方法可以解决这个问题,例如在您的输出上调用 to_string()describe() 方法,但这些都是非常手动的,不要'在某些情况下并不总是按预期工作,例如我在 groupby 对象上调用 to_string() 的情况:

    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() 可以正确找到窗口大小元组,因此似乎自动检测大小也不起作用。任何见解将不胜感激!

最佳答案

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

pd.options.display.max_colwidth  # default is 50

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

这里有很多选项可以配置,如果你使用的是 ipython,那么 tab complete 可以找到 full set of display options :

pd.options.display.<tab>

关于python - 如何在 IPython pandas 中配置显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249206/

相关文章:

python - Flask-OAuthlib OAuth2 客户端报错: "Missing access credentials."

bash - 展开执行另一个别名的别名(嵌套别名)

python - 小牛升级后 virtualenvwrapper 的终端问题

linux - 如何获取文件夹中每个可执行文件的简要说明?

python - 如果在已经运行的情况下多次运行相同的 dag 会发生什么?

python - 用于多处理的共享内存中的大型 numpy 数组 : Is something wrong with this approach?

python - 在 Windows 上设置atom linter-python?

python - 比较 2 列值并突出显示差异是否超过 10%?

python - 来自一系列数据帧的 Pandas 多重索引

python - 通过对多列进行分组来过滤 python pandas 数据框