Pandas: Setting no. of max rows
查看以下
1 2 3 4 | n = 100 foo = DataFrame(index=range(n)) foo['floats'] = np.random.randn(n) foo |
问题是它并没有在IPython笔记本中按默认值打印所有行,但是我必须切片才能查看结果行。即使以下选项也不会更改输出:
1 | pd.set_option('display.max_rows', 500) |
号
有人知道如何显示整个数组吗?
对于版本0.11.0,您需要同时更改
1 2 | pd.set_option('display.height', 500) pd.set_option('display.max_rows', 500) |
另见
就个人而言,我喜欢直接用赋值语句设置选项,因为多亏了ipython,通过制表符完成很容易找到选项。我发现很难记住确切的选项名是什么,所以这个方法对我很有用。
例如,我只需要记住,它从
1 | pd.options.<TAB> |
。
。
大多数选项在
1 | pd.options.display.<TAB> |
氧化镁
从这里,我通常输出电流值如下:
1 2 | pd.options.display.max_rows 60 |
。
然后我把它设置成我想要的样子:
1 | pd.options.display.max_rows = 100 |
。
另外,您应该了解选项的上下文管理器,它临时设置代码块内的选项。以字符串形式传入选项名,后跟所需的值。您可以在同一行中传递任意数量的选项:
1 2 | with pd.option_context('display.max_rows', 100, 'display.max_columns', 10): some pandas stuff |
您还可以将选项重置回其默认值,如下所示:
1 | pd.reset_option('display.max_rows') |
。
把它们全部复位:
1 | pd.reset_option('all') |
通过
正如@hanleyhansen在评论中指出的,从0.18.1版开始,
1 | pd.set_option('display.max_rows', 500) |
请参阅发行说明-PANDAS 0.18.1文档:
Deprecated display.height, display.width is now only a formatting option does not control triggering of summary, similar to < 0.11.0.
号
在这个评论和答案中已经指出了这一点,但我将尝试对这个问题给出更直接的答案:
1 2 3 4 5 6 7 8 9 10 | from IPython.display import display import numpy as np import pandas as pd n = 100 foo = pd.DataFrame(index=range(n)) foo['floats'] = np.random.randn(n) with pd.option_context("display.max_rows", foo.shape[0]): display(foo) |
。
pandas.option_context从pandas 0.13.1开始提供(pandas 0.13.1发行说明)。根据这一点,
[it] allow▼显示 you to execute a codeblock with a set of options that revert to prior settings when you exit the with block.
号
就像这个问题的答案一样,不需要黑客设置。写起来要简单得多:
1 | print(foo.to_string()) |
号