我在查看以下内容时遇到问题DataFrame
:
n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo
问题是它不会在 ipython 笔记本中默认打印所有行,但我必须切片才能查看结果行。即使以下选项也不会更改输出:
pd.set_option('display.max_rows', 500)
有谁知道如何显示整个数组?
我在查看以下内容时遇到问题DataFrame
:
n = 100
foo = DataFrame(index=range(n))
foo['floats'] = np.random.randn(n)
foo
问题是它不会在 ipython 笔记本中默认打印所有行,但我必须切片才能查看结果行。即使以下选项也不会更改输出:
pd.set_option('display.max_rows', 500)
有谁知道如何显示整个数组?
设置display.max_rows
:
pd.set_option('display.max_rows', 500)
对于旧版本的 pandas (<=0.11.0),您需要同时更改display.height
和display.max_rows
.
pd.set_option('display.height', 500)
pd.set_option('display.max_rows', 500)
另请参阅pd.describe_option('display')
。
您可以像这样暂时只为此一次设置一个选项:
from IPython.display import display
with pd.option_context('display.max_rows', 100, 'display.max_columns', 10):
display(df) #need display to show the dataframe when using with in jupyter
#some pandas stuff
您还可以将选项重置为其默认值,如下所示:
pd.reset_option('display.max_rows')
并将它们全部重置:
pd.reset_option('all')
就个人而言,我喜欢直接使用赋值语句设置选项,因为 iPython 很容易通过制表符完成找到。我发现很难记住确切的选项名称是什么,所以这种方法对我有用。
例如,我只需要记住它的开头是pd.options
pd.options.<TAB>
大多数选项都可以在display
pd.options.display.<TAB>
从这里,我通常会输出当前值是这样的:
pd.options.display.max_rows
60
然后我将它设置为我想要的:
pd.options.display.max_rows = 100
此外,您应该了解选项的上下文管理器,它会在代码块内临时设置选项。将选项名称作为字符串传入,后跟您想要的值。您可以在同一行中传入任意数量的选项:
with pd.option_context('display.max_rows', 100, 'display.max_columns', 10):
some pandas stuff
您还可以将选项重置为其默认值,如下所示:
pd.reset_option('display.max_rows')
并将它们全部重置:
pd.reset_option('all')
通过设置选项仍然非常好pd.set_option
。我只是发现直接使用属性更容易,并且不需要get_option
and set_option
。
pd.set_option('display.max_rows', 500)
df
在 Jupyter 中不起作用!
而是使用:
pd.set_option('display.max_rows', 500)
df.head(500)
在此评论和此答案中已经指出了这一点,但我会尝试对这个问题给出更直接的答案:
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 发行说明)开始可用。据此,_
[它] 允许 [s] 您执行带有一组选项的代码块,这些选项在您退出 with 块时恢复到先前的设置。
正如@hanleyhansen 在评论中指出的那样,从 0.18.1 版开始,该display.height
选项已被弃用,并表示“display.max_rows
改为使用”。所以你只需要像这样配置它:
pd.set_option('display.max_rows', 500)
弃用 display.height,display.width 现在只是一个格式化选项,不控制摘要的触发,类似于 < 0.11.0。
设置无限数量的行使用
没有任何
IE,
pd.set_option('display.max_columns', None)
现在笔记本将显示笔记本内所有数据集中的所有行;)
同样,您可以设置将所有列显示为
pd.set_option('display.max_rows', None)
现在,如果您使用只有数据框且没有任何头或尾标签的单元格运行
df
然后它将显示数据框中的所有行和列df