【发布时间】:2014-01-21 04:30:50
【问题描述】:
我正在尝试在我的 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 threads 和 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() 可以正确找到窗口大小元组,因此自动检测大小似乎也不起作用。任何见解将不胜感激!
【问题讨论】:
-
你考虑过使用 iPython Notebook 吗?您可以在 HTML 中呈现数据帧,这样您就可以查看数据的未截断版本。
-
是的,这听起来很有趣,直到现在我还没有真正考虑过(我是 pandas 的新手)。您知道启动和运行它的好资源吗?
-
嗯...天哪,我安装它已经很久了。你基本上安装了 iPython,然后在命令行中输入 ipython notebook。它是一个非常有用的工具,你可以编写 markdown,包括图表、图片、视频、HTML、LaTex 等。它非常了不起。对于数据工作流程,我认为它根本无法被击败。我为我的组织准备了这个笔记本,展示了 iPython 可以做的一些事情......goo.gl/1Vneam 启动和运行真的不难。
-
原来使用 anaconda 相对容易(附带它),所以我现在开始使用笔记本电脑了。只需要在 conda 上运行一些更新,甚至在此过程中得到更新 pip 的提示;)
-
@Chrispy 你错过了 max_colwidth ...看起来你的专栏很长?
标签: python terminal pandas ipython