我正在尝试在我的 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/